首页 > 代码库 > ADO.NET之命令(sql语句)

ADO.NET之命令(sql语句)

使用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();