ADO.NET基本数据库编程
.NET数据提供者对象:
1、Connection对象
2、Command对象
3、DataReader对象
4、DataAdapter对象
一般性数据类对象可以为数据库中的信息存储一个本地拷贝,从而可以在切断数据库连接时处理这个信息。可以按任何顺序读行,可以按灵活的方式搜索、排序和过滤这些行,甚至可以改变这些行,然后将所做的改变同步到数据库中,主要包含以下几种对象。
1、DataSet对象
2、DataTable对象
3、DataRow对象
4、DataColumn对象
使用System.Data命名空间:
进行ADO.NET程序开发的第一步就是引用System.Data命名空间,其中含有所有的ADO.NET类
using System.Data;
1、 SQL Server .NET数据提供者
using System.Data.SqlClient;
2、 OLE DB .NET数据提供者
using System.Data.OleDb;
3、Oracle数据提供者
using System.Data.OracleClient;
4、ODBC .NET数据提供者
using System.Data.Odbc;
连接并使用数据库一般步骤:
1、创建数据库,如Access,SQL Server 2000等
2、使用Connection对象连接数据库
3、使用Command对象对数据源执行SQL命令并返回数据
4、使用DataReader和DataSet对象读取和处理数据源的数据
5、断开数据库连接
例子1:通过连接数据库,显示T_KLConfig的信息
private void simpleButton1_Click(object sender, EventArgs e) { //连接SQL Server数据库的字符串 string connectionString = @"server=localhost;database=AN_Advert;uid=sa;pwd=123"; DataSet myst;//定义数据集对象 SqlDataAdapter myda;//定义数据适配器 //创建SqlConnection对象,并连接到SQL Server 的AN_Advert数据库 SqlConnection mySqlConnection = new SqlConnection(connectionString); //创建SqlCommand对象 SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); string commandString = @"select * from T_KLConfig"; mySqlCommand.CommandText = commandString; //用Connection对象的Open()方法打开数据库 mySqlConnection.Open(); myda = new SqlDataAdapter(mySqlCommand);//新建数据适配器对象 myst = new DataSet();//新建数据集对象 myda.Fill(myst, "T_KLConfig");//填充数据集 SqlCommandBuilder buildet = new SqlCommandBuilder(myda); gridControl1.DataSource = myst.Tables["T_KLConfig"];//设置数据源 //关闭数据库连接 mySqlConnection.Close(); }
连接字符串:string strcon = @"Data Source=localhost(服务器);Initial Catalog=shopping(数据库);Integrated Security=True";//数据库连接字符串
ADO.NET基本数据库编程 :
常用的数据库编程包括连接数据库、插入新的数据、删除数据和修改数据,即执行SQL语法中的Insert、Delete、 Update语句。
使用Command对象的ExecuteNonQuery()方法来实现插入数据操作,用SQL的Insert语句来设定具体的要插入的新记录内容。
1、下面的程序实现在Northwind数据库中的Student表中插入一条新的记录。
protected void add() { //连接SQL Server2000数据库的字符串 String connectionString = @"server=localhost\hmx;database=mydata;uid=sa;pwd="; //创建SqlConnection对象,并连接到SQL Server2000的 mydata 数据库 SqlConnection mySqlConnection = new SqlConnection(connectionString); //创建SqlCommand对象 SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); //创建SQL的Insert语句,在Student表中输入一条新的记录 string InsertString = "INSERT INTO Student(StudentNo,StudentName,Sex) VALUES('060203','王二','男')"; mySqlCommand.CommandText = InsertString; //用Connection对象的Open()方法打开数据库 mySqlConnection.Open(); //用SqlCommand对象,插入一条新的记录 mySqlCommand.ExecuteNonQuery(); //关闭数据库连接 mySqlConnection.Close(); }
2、实现在Northwind数据库中的Student表中修改一条记录。
protected void Modify() { //连接SQL Server2000数据库的字符串 string connectionString = @"server=localhost\hmx;database=Northwind;uid=sa;pwd="; //创建SqlConnection对象,并连接到SQL Server2000自带的 Northwind 数据库 SqlConnection mySqlConnection = new SqlConnection(connectionString); //创建SqlCommand对象 SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); //创建SQL的Update语句,在Student表中修改指定的记录 string ModifyString = "UPDATE Student SET Sex ='女' WHERE StudentName='赵一'"; mySqlCommand.CommandText = ModifyString; //用Connection对象的Open()方法打开数据库 mySqlConnection.Open(); //用SqlCommand对象,修改指定的记录 mySqlCommand.ExecuteNonQuery(); //关闭数据库连接 mySqlConnection.Close(); }
3、实现在Northwind数据库中的Student表中删除一条记录。
protected void Deleteone() { //连接SQL Server2000数据库的字符串 string connectionString = @"server=localhost\hmx;database=Northwind;uid=sa;pwd="; //创建SqlConnection对象,并连接到SQL Server2000自带的 Northwind 数据库 SqlConnection mySqlConnection = new SqlConnection(connectionString); //创建SqlCommand对象 SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); //创建SQL的Delete语句,在Student表中删除指定的记录 string DeleteString = "DELETE FROM Student WHERE StudentName='赵一'"; mySqlCommand.CommandText = DeleteString; //用Connection对象的Open()方法打开数据库 mySqlConnection.Open(); //用SqlCommand对象,删除满足条件记录 if (mySqlCommand.ExecuteNonQuery()>0) { //Console.Write("恭喜,从Student删除指定记录任务完成!"); //返回受影响记录行数 } else { // Console.Write("没有满足条件的记录"); } //关闭数据库连接 mySqlConnection.Close(); }