虽然实际开发时都是用 Entity 了,但是基础还是要掌握和复习的 ^^

//set connection string, server,database,username,password
MySqlConnection con = new MySqlConnection("SERVER=localhost;DATABASE=Gridview;UID=keatkeat;PASSWORD=001001");
MySqlTransaction transaction = null;
MySqlDataReader reader = null;
try
{
MySqlCommand command = new MySqlCommand();
command.Connection = con;
command.CommandType = CommandType.Text;
con.Open();
transaction = con.BeginTransaction(); command.CommandText = "select * from task_record where id=?para0";
//add and remove parameters
command.Parameters.Clear();
command.Parameters.AddWithValue("?para0", ); //for protect sql inject attack //for insert update
//int result = command.ExecuteNonQuery();
//long lastInsertId = command.LastInsertedId;
transaction.Commit(); //for select then use Adapter
MySqlDataAdapter adapter = new MySqlDataAdapter(command);
DataTable table = new DataTable();
adapter.Fill(table); //装入table之后就可以调用了
for (int i = , l = table.Rows.Count; i < l; i++)
{
for (int a = , b = table.Columns.Count; a < b; a++)
{
string columnName = table.Columns[a].ColumnName;
}
string someData = table.Rows[i]["columnName"].ToString();
} //select then use reader
reader = command.ExecuteReader();
int colummCount = reader.FieldCount;
int rowIndex = ;
while (reader.Read()) //reader 内的数据只能被read 一次哦
{
for (int i = ; i < colummCount; i++)
{
string columnName = reader.GetName(i);
object value = reader[i];
}
rowIndex++;
}
reader.Close(); }
catch (Exception ex)
{
if (transaction != null) transaction.Rollback();
string x = ex.Message;
}
finally
{
if (con.State == System.Data.ConnectionState.Open)
{
con.Close();
}
}

上面给的是一个 MYSQL 的例子。

这里我要说说 SQL SERVER (MSSQL) 的区别。

1. Class不同, 上面的全部 "MySql" 改成 Sql 就可以了

2. CommandType 的namespace 不同, MSSQL 是在 System.Data

3. cosmmand 的 para 符号不同

  "select * from task_record where id=?para0" <- MySql 用的是问号 "?"

 "select * from task_record where id=@para0" <- SQL SERVER 用的是 "@"

4. command.Transaction = transaction <-- MSSQL 必须加多一句,每个command 必须要填写 transaction , 如果你有开的话

5.

   command.CommandText = "insert into product (code,name) output inserted.id values ('mk400','puma')";
int result = (int)command.ExecuteScalar();

如果要获得last inserted id , 是通过 command output. (我不清楚这算不算SQL规范语句)

基础 ADO.NET 访问MYSQL 与 MSSQL 数据库例子的更多相关文章

  1. [Spark][Python]Spark 访问 mysql , 生成 dataframe 的例子:

    [Spark][Python]Spark 访问 mysql , 生成 dataframe 的例子: mydf001=sqlContext.read.format("jdbc").o ...

  2. [JavaWeb基础] 003.JAVA访问Mysql数据库

    上面两篇讲解了简单的JSP + Servlet的搭建和请求,那么后面我们肯定要用到数据交互,也就是操纵数据库的数据,包括对数字的增加,删除,修改,查询.我们就用简单的MySql来做例子 我们需要引入驱 ...

  3. SQL监控:mysql及mssql数据库SQL执行过程监控审计

    转载 Seay_法师 最近生活有很大的一个变动,所以博客也搁置了很长一段时间没写,好像写博客已经成了习惯,搁置一段时间就有那么点危机感,心里总觉得不自在.所以从今天起还是要继续拾起墨笔(键盘),继续好 ...

  4. Database基础(一):构建MySQL服务器、 数据库基本管理 、MySQL 数据类型、表结构的调整

    一.构建MySQL服务器 目标: 本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器: 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认 ...

  5. mysql和mssql数据库快速创建表格 五

    * into testAAA FROM tbl_User --sqlserver方法一复制表结构 select * into testAAA FROM tbl_User --sqlserver复制表结 ...

  6. Oracle透明网关访问MySQL数据库

    针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数 ...

  7. 本地tomcat访问mysql数据库

    虽然以前经常听人说起过tomcat,但是今天头一次使用tomcat. 1.Tomcat的安装过程: 首先应该从Apache官方网站上下载是用于Windows的.zip压缩包. 下面是相应的下载链接: ...

  8. C#访问MySQL数据库(winform+EF)

    原文:C#访问MySQL数据库(winform+EF) 以前都是C#连接SQLServer,现在MySQL也比较火了,而且是开源跨平台的,这里连接使用一下,主要是体会一下整个流程,这里使用的是winf ...

  9. C#访问MySQL数据库的方法

    C#访问MySQL数据库的方法 (1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序 下载地址为: http://dev.mysql.com/downloads/connector/ne ...

随机推荐

  1. Jenkins,Maven及TestNG在自动化测试的应用(转)

    转自:http://qa.blog.163.com/blog/static/190147002201581634549893/ 希望实现的场景:Jenkins中的Job可针对不同浏览器,不同环境,运行 ...

  2. Java集合中那些类是线程安全的

    线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多 ...

  3. leetcode第一刷_Word Ladder II

    这道题非常难. 之前的题目我提到过一次用两个vector来做层序遍历的,就是由于这道题.要想最后恢复出单词变换的路径,就须要事先保存,依据dp中路径恢复的启示,保存的应该是一个单词的前一个变换节点.可 ...

  4. 建立企业内部mavenserver并使用Android Studio公布公共项目

    由于Android Studio使用了Gradle构建工具,在library依赖的处理上是将被依赖的library作为一个module引入(拥有一份完整的library拷贝),而Eclipse的ADT ...

  5. POJ 1250 Tanning Salon

    Tanning Salon Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6822   Accepted: 3686 Des ...

  6. [小技巧] 打造属于 Dell XPS 13 (9350) 的专属 Windows 7 iso 镜像

    MacBook Air 13, Dell XPS 13 和 Thinkpad X1 Carbon 都是轻薄笔记本中设计优秀的典范,受到很多用户追捧. 不过对于 Windows 阵营的笔记本,最近有个坏 ...

  7. nginx 根据IP 进行灰度发布

    灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本. nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP的灰度发布. 需求:搭建 ...

  8. Windows Native API

    http://en.wikipedia.org/wiki/Native_API Windows 的原生 API 函数通常在系统启动时(这里其他 Windows 组件还不可用).kernel32.dll ...

  9. Android Studio错误

    晚上一直在折腾android studio这个东西,弄的蛋疼.. 之前是有用的,然后今天闲的没事干,更新了下,反正弄出了一大堆的错误.. 错误:failed to find Build Tools r ...

  10. Wpf解决TextBox文件拖入问题、拖放问题

    在WPF中,当我们尝试向TextBox中拖放文件,从而获取其路径时,往往无法成功(拖放文字可以成功).造成这种原因关键是WPF的TextBox对拖放事件处理机制的不同, 解放方法如下: 使用Previ ...