ADO.net
是一门数据库访问技术,通过程序操作数据库.
主要应用的类库有三个:
(1)Connection 类
和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。
(2)Command对象
成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;Command对象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命令。
(3)DataReader类
许多数据操作要求开发人员只是读取一串数据。DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的数据流。这意味着开发人员只能按照一定的顺序从数据流中取出数据。
还有另外三个不常用的
(1)DataSet对象
(2)DataAdapter类
(3)DataTable类
引用:
Uusing System.Data.SqlClient;
1.基础的增删改
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //连接 string sql = "server=.;database=ADO;user=sa;pwd=123;"; //数据库连接类 SqlConnection conn = new SqlConnection(sql); //数据库操作类 SqlCommand cmd = conn.CreateCommand(); //数据库操作语句 cmd.CommandText = "insert into Nation values ('N001','汉族')"; //开门 conn.Open(); //执行操作 cmd.ExecuteNonQuery(); //关门 conn.Close(); Console.ReadLine(); } } }
2.数据库的查询
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //连接 int a = 0; string sql = "server=.;database=ADO;user=sa;pwd=123;"; //数据库连接类 SqlConnection conn = new SqlConnection(sql); //数据库操作类 SqlCommand cmd = conn.CreateCommand(); //数据库操作语句 cmd.CommandText = "select *from Users"; //开门 conn.Open(); //执行操作 SqlDataReader dr = cmd.ExecuteReader(); //方法一(必要掌握,复杂,) if (dr.HasRows) { dr.Read();//执行一边往下走一行,这里是所有行的数据 string.birthday=dr.[0].Tostring(); } //方法二(简单) if (dr.HasRows) { while (dr.Read()) { string.birthday=dr.["Birthday"].Tostring(); } } Console.WriteLine(birthday); //关门 conn.Close(); Console.ReadLine(); } } }
3.完善的增删改
与基础的增删改相比较,差别只是多了针对用户输入的增删改数据进行了进一步的提示
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //连接 string sql = "server=.;database=ODA;user=sa;pwd=123;"; //数据库连接类 SqlConnection conn = new SqlConnection(sql); //数据库操作类 SqlCommand cmd = conn.CreateCommand(); //数据库操作语句,更改语句内容实现基础增删改 cmd.CommandText = "insert into Users values('zhouba','1234','周八',2,'1994-5-5','N004');"; //开门 conn.Open(); //执行操作, int a=cmd.ExecuteNonQuery();//返回int类型受影响的行数 if (a > 0) Console.WriteLine("数据执行成功!" + a + "行受影响"); else Console.WriteLine("数据执行失败,请检查有无错误"); //关门 conn.Close(); Console.ReadLine(); } } }
4.升级版完善的增删改
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { bool hs = false; string sql = "server=.;database=ODA;user=sa;pwd=123;"; SqlConnection conn = new SqlConnection(sql); SqlCommand cmd = conn.CreateCommand(); Console.Write("请输入要更改的UserName名称"); string s = Console.ReadLine(); //判断是否存在该Ids名称 cmd.CommandText = "select *from Users where UserName='" + s + "';";//select *from Users where Usersname='xxxx'; conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { hs = true; } conn.Close(); if (!hs) { Console.WriteLine("该UserName不存在"); } else { Console.WriteLine("该UserName存在,将要开始修改"); Console.Write("请输入更改后的[password]:"); string pw = Console.ReadLine(); Console.Write("请输入更改后的NickName:"); string nn = Console.ReadLine(); Console.Write("请输入更改后的性别:"); string xb = Console.ReadLine(); int bit; if (xb == "男") bit = 1; else bit = 0; Console.Write("请输入更改后的生日:"); string bir = Console.ReadLine(); Console.Write("请输入更改后的民族:"); string na = Console.ReadLine(); cmd.CommandText = "update Users set [password]='" + pw + "',NickName='" + nn + "',Sex=" + bit + ",Birthday='" + bir + "',Nation='" + na + "'where UserName='" + s + "';"; conn.Open(); int a = cmd.ExecuteNonQuery(); conn.Close(); if (a > 0) Console.WriteLine("修改成功"); else Console.WriteLine("修改失败,请检查后重新输入"); } Console.ReadLine(); } } }