ADO.NET数据库管理

ADO.NET中数据保存在内存中,并且以DataSet数据集的形式存放在内存中。


一、对象组成


1、Connection对象:

开启程序和数据库之间的连接,不利用连接对象打开数据库,就无法从数据库中取得数据。


常用属性:


ConnectionString 用于获取或设置用于打开数据库的字符串

Database 用于获取当前数据库或链接打开后要使用的数据库名称

DataSource 用于获取要连接的数据库实例名称


常用方法:


Open: 打开数据库连接

Close:关闭数据库


实例:


引入命名空间:

using System.Data;
using System.Data.SqlClient;
连接数据库:

SqlConnection con = new SqlConnection("server=.;database=Test;User ID=sa;Password=123456");
            con.Open();



2、Command对象:


对数据库发出命令(增删改查等命令)

  con
	 SqlCommand cmd = new SqlCommand("select *  from TDepartment",con );


常用属性:


CommandText:获取或设置需要对数据源执行的SQL语句或存储过程

CommandType:说明CommandText的属性,如果将CommandType属性设置为StoreProceduce,则应将CommandText属性设置为存储过程的名称


常用方法:


ExecuteNonQuery:用于对连接执行SQL语句(Update、Insert、Delete)并返回受影响的行数。

ExecuteScalar:执行查询,返回结果集中的  第一行,第一列,其他的行和列将被忽略,因此该方法主要是从数据库中检索单个值,多用于聚合函数,例如Sum(),Count()

ExecuteReader:返回多行结果查询数据


实例:


 SqlCommand cmd = new SqlCommand("select * from Login");
            int count=cmd.ExecuteNonQuery();

  SqlCommand cmd = new SqlCommand("select voteTitle from voteMaster where voteID=" + this.voteID, con);
	            string title =Convert .ToString ( cmd.ExecuteScalar());

  SqlCommand cmd = new SqlCommand("select *  from TDepartment",con );
	                SqlDataReader sdr = cmd.ExecuteReader();
	                this.ddList.DataSource = sdr;
	                this.ddList.DataBind();
                        sdr.Close();


3、DataReader对象:


只能依次一直向下循序地去取数据源中的数据,而且这些数据是只读的,不允许做其他操作。

优点:节约资源,效率高,降低网络的负载


实例:


   SqlCommand cmd = new SqlCommand("select *  from TDepartment",con );
	                SqlDataReader sdr = cmd.ExecuteReader();
	                this.ddList.DataSource = sdr;
	                this.ddList.DataBind();
	                sdr.Close();

 SqlCommand cmdEmp = new SqlCommand("select * from emp where depID="+this.ddList.SelectedValue , con);
	                SqlDataReader sdrEmp = cmdEmp.ExecuteReader();
	                while (sdrEmp .Read ()) //判断DataReader中是否还有下一行
	                {
	                    this.ListBox1.Items.Add(new ListItem (sdrEmp.GetString(1), sdrEmp.GetInt32(0).ToString ()));
	                }
	                sdrEmp.Close();
                con.Close();


4、DataAdapter对象:


在数据源和DataSet之间执行数据传输工作

SqlDataAdapter sda = new SqlDataAdapter();//声明适配器对象  
sda.SelectCommand = cmd;  
DataSet ds = new DataSet();  
sda.Fill(ds, "vote");  
DataTable dt = ds.Tables["vote"];  
DataRow dr = dt.Rows[0];//取出查询结果中的第一行  


5、DataSet对象:


可以视为一个暂存区,可以把从数据库中查询到的数据保留起来,甚至可以将整个数据库显示出来。它本身不具备和数据源沟通的能力,也就是DataAdapter对象可作为DataSet对象和数据源传输数据的桥梁。


二、命名空间


1.System.Data命名空间


其中包含大部分组成ADO.NET架构的基础对象类别,例如DataSet对象、数据表、字段和关联等,因此要使用ADO.NET,就一定要使用这个命名空间。


2.System.Data.SqlClient命名空间


要使用SQL Server数据操作组件(SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter)来存取数据,必须引用这个命名空间。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 91
    评论
评论 91
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值