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}
", 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();
原文地址:https://www.cnblogs.com/runninglzw/p/3852009.html