在ADO.NET里,这些步骤有很大的变化。ADO.NET的最重要概念之一是DataSet。DataSet是不依赖于数据库的独立数据集合。所谓独立,就是:即使断开数据链路,或者关闭数据库,DataSet依然是可用的。
连接数据库
ADO.NET连接数据库的步骤就相应地改变了:
1、取得连接字符串;
2、创建一个数据库链路;
3,打开数据连接;
4,数据库操作;
5,关闭数据连接;
代码如下:
string strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
"Initial Catalog=pubs; User ID=sa";
SQLConnection myConnection = new SQLConnection(strConnString);
MyConnection.Open();
数据库操作 ………………
myConnection.Close();
数据集DataSet的操作
1,取得连接字符串;
2,建立数据连接;
3,实例化DataAdapter对象;
4,建立一个DataSet实例;
5,将DataAdapter的得到的数据集填充到DataSet中;
6,关闭数据连接;
代码如下:
string strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
"Initial Catalog=pubs; User ID=sa";
SQLConnection myConnection = new SQLConnection(strConnString);
string mySelectText = "SELECT * FROM Categories ORDER BY CategoryID";
SQLDataAdapter myDataAdapter = new SQLDataAdapter(mySelectText, myConnection);
DataSet ds = new DataSet();
myDataAdapter.Fill(ds,"notes");// notes是取得的表的名称,可自定义
myConnection.Close();
DataSet中储存多个数据表
1,取得连接字符串;
2,建立数据连接;
3,实例化DataAdapter对象DataAdapter1,DataAdapter2;
4,建立一个DataSet实例;
5,将DataAdapter1和DataAdapter2得到的数据集填充到DataSet中;
6,关闭数据连接;
代码如下:
string strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
"Initial Catalog=pubs; User ID=sa";
SQLConnection myConnection = new SQLConnection(strConnString);
string mySelectText1= "SELECT * FROM Categories ORDER BY CategoryID";
string mySelectText2= "SELECT * FROM Name ORDER BY NameID";
SQLDataAdapter myDataAdapter1 = new SQLDataAdapter(mySelectText1, myConnection);
SQLDataAdapter myDataAdapter2 = new SQLDataAdapter(mySelectText2, myConnection);
DataSet ds = new DataSet();
myDataAdapter1.Fill(ds," Categories ");
myDataAdapter2.Fill(ds," Name ");
myConnection.Close();
添加数据库纪录
1, 建立数据库连接;
2, 实例化OleDbDataAdapter对象!
3, 建立一个DataSet对象,并把执行select语句得到的记录添加到其中;
4, dataGrid控件绑定DataSet数据集,并根据要求显示;
5, 建立OleDbCommandBuilder对象,并让它与我们前面的OleDbDataAdapter对象关联,语句如下:OleDbCommandBuilder mybuilder=new OleDbCommandBuilder(myDataAdapter); (只需声明该对象,不需任何其他操作,CommandBuilder 对象可以根据 Select 语句在运行时生成ADD命令);
6, 在 DataSet中添加新的纪录;
7, 执行OleDbDataAdapter对象的Update命令更新数据库,语句如下: myDataAdapter.Update(ds,"notes");
8, 关闭数据库连接;
代码如下:
string strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
"Initial Catalog=pubs; User ID=sa";
OleDbConnection myConnection = new OleDbConnection(strConnString);
string mySelectText = "SELECT * FROM Categories ORDER BY CategoryID";
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySelectText, myConnection);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet,"notes");// notes是取得的表的名称,可自定义
dataGrid1.DataSource=myDataSet;// dataGrid1数据源绑定数据集myDataSet
dataGrid1.DataMember=" notes ";//指定运行后直接显示表notes的数据
OleDbCommandBuilder mybuilder=new OleDbCommandBuilder(myDataAdapter);
DataRow dr=this.myDataSet.Tables[0].NewRow();//在指定的myDataSet的表中创建一个新的行的实例dr
dr["id"] ="1";
dr["name"] ="pwx";
dr["name_work"] ="tt";
dr["name_data"] ="2001-02-21";
this.myDataSet.Tables[0].Rows.Add(dr);//将dr的值添加到myDataSet的表中
myDataAdapter.Update(myDataSet," notes ");// myDataAdapter调用Update方法更新数据库
myConnection.Close();
删除特定的数据库记录
1, 立数据库连接;
2, 实例化OleDbDataAdapter对象!
3, 建立一个DataSet对象,并把执行select语句得到的记录添加到其中;
4, dataGrid控件绑定DataSet数据集,并根据要求显示;
5, 建立OleDbCommandBuilder对象,并让它与我们前面的OleDbDataAdapter对象关联,语句如下:OleDbCommandBuilder mybuilder=new OleDbCommandBuilder(myDataAdapter); (只需声明该对象,不需任何其他操作,CommandBuilder 对象可以根据 Select 语句在运行时生成DELETE命令);
6, 删除DataSet中包含表的特定记录;
7, 执行OleDbDataAdapter对象的Update命令更新数据库,语句如下: myDataAdapter.Update(ds,"notes");
8, 关闭数据库连接;
代码如下:
string strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
"Initial Catalog=pubs; User ID=sa";
OleDbConnection myConnection = new OleDbConnection(strConnString);
string mySelectText = "SELECT * FROM Categories ORDER BY CategoryID";
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySelectText, myConnection);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet,"notes");// notes是取得的表的名称,可自定义
dataGrid1.DataSource=myDataSet;// dataGrid1数据源绑定数据集myDataSet
dataGrid1.DataMember=" notes ";//指定运行后直接显示表notes的数据
OleDbCommandBuilder mybuilder=new OleDbCommandBuilder(myDataAdapter);
int row1=this.dataGrid1.CurrentCell.RowNumber;//取得当前行的行号
myDataSet.Tables[“notes”].Rows[row1].Delete();//删除dataset中表notes当前的行
myDataAdapter.Update(myDataSet," notes ");// myDataAdapter调用Update方法更新数据库
myConnection.Close();
注意:在用Visual C#删除记录的时候要注意的是:必须从二个方面彻底删除记录,即从数据库和用Visual C#编程时产生的一个DataSet对象中彻底删除。在程序设计的时候,如果只是删除了DataSet对象中的记录信息,这种删除是一种伪删除。这是因为当他退出程序,又重新运行程序,会发现,那个要删除的记录依然还存在。这是因为DataSet对象只是对数据表的一个镜像,并不是真正的记录本身。但如果只是从数据库中删除记录,因为我们此时程序用到的数据集合是从DataSet对象中读取的,子DataSet对象中依然保存此条记录的镜像。所以就会发现,我们根本没有删除掉记录,但实际上已经删除了。此时只有退出程序,重新运行,才会发现记录已经删除了。该例子建立OleDbCommandBuilder对象,CommandBuilder 对象可以根据 DataSet数据集中的改变在Select 语句在运行时自动生成数据库操作命令。
修改数据纪录
1, 数据库连接;
2, 实例化OleDbDataAdapter对象!
3, 建立一个DataSet对象,并把执行select语句得到的记录添加到其中;
4, dataGrid控件绑定DataSet数据集,并根据要求显示;
5, 建立OleDbCommandBuilder对象,并让它与我们前面的OleDbDataAdapter对象关联,语句如下:OleDbCommandBuilder mybuilder=new OleDbCommandBuilder(myDataAdapter); (只需声明该对象,不需任何其他操作,CommandBuilder 对象可以根据 Select 语句在运行时生成UpDate命令);
6, 通过对dataGrid中的数据的修改而修改DataSet中的数据;
7, 执行OleDbDataAdapter对象的Update命令更新数据库,语句如下: myDataAdapter.Update(ds,"notes");
8, 关闭数据库连接;
代码如下:
string strConnString = "Provider=SQLOLEDB; Data Source=(local); " & _
"Initial Catalog=pubs; User ID=sa";
OleDbConnection myConnection = new OleDbConnection(strConnString);
string mySelectText = "SELECT * FROM Categories ORDER BY CategoryID";
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySelectText, myConnection);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet,"notes");// notes是取得的表的名称,可自定义
dataGrid1.DataSource=myDataSet;// dataGrid1数据源绑定数据集myDataSet
dataGrid1.DataMember=" notes ";//指定运行后直接显示表notes的数据
OleDbCommandBuilder mybuilder=new OleDbCommandBuilder(myDataAdapter);
MyDataSet.Tables["UserList"].Rows[0]["UserName"]="飞刀大哥";//修改MyDataSet中表MyDataSet的值,Row[0]["UserName"]是指定的第一行字段为username的列。
………………直接在dataGrid1上修改与myDataSet绑定的数据………………
myDataAdapter.Update(myDataSet," notes ");// myDataAdapter调用Update方法更新数据库
myConnection.Close();
分享到:
相关推荐
ADO.net操作数据库总结,包括SqlConnection、SqlCommand等
ADO.NET操作数据库的总结,非常的基础。。。针对SQL SERVER 2005
这个是上数据库时,老师给的PPT教程。连接SQLServer 与 VS的。
ADO.NET操作数据库代码诠释(C#).
ADO.Net操作数据库DBhelper可直接使用,链接SQL数据库,详细代码加注释
ADO.NET连接数据库方法
ADO.Net数据库访问(代码示例),介绍了ADO.Net数据库访问的核心技术
1. 了解ADO.NET 2. ADO.NET连接数据库,关闭连接 3. ADO.NET实现增,删,改操作 4. ADO.NET实现查询操作
这是一个ADO.NET程序操作SqlServet数据库带有界面的程序,实现了增删改查,ListView显示数据库数据,一个界面操作多个表
摘要:基于ASP.NET的WEB应用程序项目,使用程序语言C#,利用ADO.NET访问数据库,实现一个简易的用户登陆注册系统。主要实现的功能有用户登陆、用户注册、找回密码,软件版本采用的vs2010加Sql Sever2014。 关键字:...
ADO.NET进行数据库编程.txt
关于用ado.net连接数据库,是一种数据库实践工具
一个很实用,很完整的ADO.NET操作数据库的实例!
ADO.NET是与数据库访问操作有关的对象模型的集合,它基于Microsoft的.NET Framework,在很大程度上封装了数据库访问和数据操作的动作。 ADO.NET同其前身ADO系列访问数据库的组件相比,做了以下两点重要改进: ...
数据结构ADO.net访问数据库内涵详细信息
ADO.net的数据库访问干货,数据库设计规范,三层架构的数据访问层
c#利用ado.net进行数据库开发,简单介绍