使用ADO时,要打开与数据库的连接,选择一些数据,并把他们放在记录集中,这些记录集由字段组成,接着处理这些数据,并在服务器上更新他们
下面一些实例使用命令对数据库进行简单的连接和操作
操作数据库步骤如下:
一、连接数据库:使用SqlConnection类
二、构造命令:使用SqlCommand类
三、执行命令,下面代码实例中提供4种方法,它们都是Command类提供的方法
1.更新数据库 ExecuteNonQuery()方法:返回受影响的行数
string source="server=(local) \\SQLEXPRESS;database=Student;integrated security=SSPI"; SqlConnection con=new SqlConnection(source); con.Open();//打开数据库 if(con.State==ConnectionState.Open) { label1.Text="数据库 is open !"; //con.Close(); } if(con.State==ConnectionState.Closed) { label2.Text="closed!"; } //更新数据库 ExecuteNonQuery()方法:返回受影响的行数 string update = "update Customers set name='Bill' where Name='Bob'"; SqlCommand cmd = new SqlCommand(update,con);//创建一条查询命令,还没有执行 int rowreturn = cmd.ExecuteNonQuery();//执行T-sql语句并返回受影响的行数,也就是执行刚才的查询命令 label2.Text = string.Format("受影响的行数为 :{0}", rowreturn); con.Close();//关闭数据库
2.查询数据库 ExecuteReader()方法:返回一个Datareader对象 DataReader对象可通过Command对象的ExecuteReader方法从数据源中检索数据来创建
string select = "select name,id from customers"; SqlCommand cmd = new SqlCommand(select, con); IDataReader reader = cmd.ExecuteReader(); label2.Text = ""; while (reader.Read()) { label2.Text += string.Format("name:{0},id:{1}\n", reader[0], reader[1]); }
con.close();
3.ExecuteScalar()方法:只返回查询结果集中的第一行的第一列
string select = "select * from customers"; SqlCommand cmd = new SqlCommand(select, con); object x = cmd.ExecuteScalar();//cmd.ExecuteScalar()返回类型为object类型 label2.Text = ""; label2.Text = string.Format("查询结果为{0}", x); con.close();
4.ExecuteXmlReader()方法:返回一个XmlReader对象,必须引用using System.Xml;
string select = "select name,id from customers FOR XML AUTO";//for xml auto表示查询结束后结果为xml结果for xml raw,for xml explicit SqlCommand cmd = new SqlCommand(select,con); XmlReader xr = cmd.ExecuteXmlReader(); xr.Read();//Read()方法:从流中读取下一个节点。 string data; do { data = xr.ReadOuterXml();//ReadOuterXml()表示读取表示该节点和所有它的子级的内容(包括标记)。 if (data != null) label2.Text += data; } while (data != null); con.Close();