虽说已经学了很久数据库的连接和使用,但是感觉一直都没有真正的记住什么。没办法,只有写出来,加强记忆了。
数据库是对立存在的。ado.net其实是一个类库,其中包含大量的类,利用这些类的对象,可以完成对数据库的操作。
ado.net五个常用对象。
connection 数据库的连接对象,用于对数据库的连接
command 用于执行数据库命令,同时也提供从数据库中检索,插入,修改,删除 数据的功能。
DataSet DataSet对象是数据在内存中的表现形式。他包含了DataTable对象,而datatable 包含了列和行,就像数据库中的表一样
DataAdapter 数据库适配器,DataSet对象和数据库之间的桥梁。通过Fill方法把数据库中的数据映射到DataSet对象中,通过Update方法更新数据库中的数据,是DataSet中的数据与数据库中的数据保持一致。
数据库的连接connection
首先是数据库的连接字符串string constr="server=localhost;database=mydatabase;uid=sa;pwd=11111111";
SqlConnection conn=new SqlConnection(constr);
conn.Open();//打开数据库连接
conn.Close();//关闭数据库连接
数据库连接打开后就是对数据库的操作了,有两种方式对数据库操作,一种是连线式;另一种是离线式;连线式只能对数据库进行读操作,不能进行修改添加操作。离线式操作可以完成CURD各种操作。
连线式数据库操作:连线式数据库操作能够高效的访问数据库,但是连线式数据库操作,对于同一个数据库,每次的连接个数是有限的,因此在网站的开发时,是不能使用连线式的。
连线式数据库操作的流程:
1.设置连接字符串
2.连接数据库
3.打开数据库
4.创建command对象
5.执行对象对数据库下达的命令
6.使用DataReader对象进行各种读取操作
7.关闭数据库
实例一
1 string sqlconstr="server=localhost;database=User;uid=sa;pwd=123456"; 2 Connection conn=new Connection(sqlconstr); 3 conn.Open(); 4 SqlCommand cmd=new SqlCommand("select * from UserInfo",conn); 5 SqlDataReader Myreader=cmd.ExcuteReader(); 6 this.GridView1.DataSourse=Myreader; 7 GridView1.DataBind(); 8 conn.Close();
针对DataReader对象。我们使用下面的句型类对数据表中的数据进行读取
1 SqlDataReader sqlreader=cmd.ExcuteReader(); 2 while(sqlreader.read()) 3 { 4 Response("name:"+sqlreaer["name"]+"pwd:"+sqlreader["Password"]); 5 }
可以使用DataReader对象中的GetName()和GetDataType()方法获取返回行的每一列的列名和数据类型。
1 string sqlconstr = @"Data Source=.SQLEXPRESS;AttachDbFilename='D:UsersAdministratordocumentsvisual studio 2010ProjectsSolution1UICApp_DataDatabase1.mdf';Integrated Security=True;User Instance=True"; 2 SqlConnection sqlcon = new SqlConnection(sqlconstr); 3 sqlcon.Open(); 4 SqlCommand cmd = new SqlCommand("select * from T_User", sqlcon); 5 SqlDataReader myreader = cmd.ExecuteReader(); 6 while (myreader.Read()) 7 { 8 Console.WriteLine("姓名:" + myreader["UserName"] + "密码:" + myreader["UserPassWord"]); 9 } 10 Console.WriteLine(myreader.GetName(1) +" "+ myreader.GetDataTypeName(1)); 11 myreader.Close(); 12 Console.ReadLine();
运行结果为:
数据库的离线式操作
离线方式操作数据库流程:
1.设定数据连接字符串
2.使用Command 对象向数据库下达查询命令
3.使用DataAdapter对象的Fill方法填充DataSet对象
4.使用DataSet命令进行各种数据库操作
5.使用DataAdapter对象的Update()方法更新数据库。
今天先写到这。明天继续......................................................