ADO.Net中Data Table的应用

知识点

可以直接将数据从数据库填充到DataTable对象中,也可以将DataTable对象添加到现有的DataSet对象中。在断开连接的方式下,DataSet对象提供了和关系数据库一样的关系数据模型,代码中可以直接访问DataSet对象中的DataTable对象,也可以添加、删除ADO.NET对象DataTable。ADO.NET对象SqlDataAdapter通过SelectCommand、InsertCommand、UpdateCommand和 DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。一般情况下,只需要提供SELECT语句和连接字符串创建 SqlDataAdapter对象,然后利用SqlCommandBuilder对象生成InsertCommand、UpdateCommand和 DeleteCommand属性。

1.创建DataTable对象
可以通过以下两种方式创建DataTable对象:1) 通过DataTable类的构造函数创建DataTable对象,例如:DataTable table = new DataTable(); 2) 通过DataSet的Tables对象的Add方法创建DataTable对象,例如:DataSet dataset = new DataSet(); DataTable table = dataset.Tables.Add("MyTableName")

2. 在DataTable对象中添加列在DataTable对象中添加列的最常用的方法是通过DataTable对象的Column属性中的Add方法。添加后的每一列都是一个DataColumn对象。

3. 设置DataTable对象的主键
关系数据库中的表一般都有一个主键,用来惟一标识表中的每一行记录。通过DataTable对象的PrimaryKey属性可以设置Datatable的主键。主键可以是一个或者多个DataColumn对象组成的数组。例如:DataColumn[] key = new DataColumn[1];//dt是一个DataTable对象 key[0] = dt.Columns[0]; dt.PrimaryKey = key;

4. 在DataTable对象中创建行DataTable对象的每一行都是一个DataRow对象,所以创建行时可以先利用DataTable对象的NewRow方法创建一个DataRow对象,并设置新行中各列的数据,然后利用Add方法将DataRow对象添加到表中

5. 将SQL Server数据库中的表填充到DataTable中
除了可以直接创建ADO.NET对象DataTable的行列信息外,也可以通过DateAdapter对象的Fill方法将SQL Server数据库中的表填充到DataTable对象中。

 

 

示例代码

 

 SqlConnection sqlConnection = new SqlConnection();                                              //声明并实例化SQL连接;
            sqlConnection.ConnectionString =
                "Server=(local);Database=NurseBase;Integrated Security=sspi";                             //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
            SqlCommand sqlCommand = new SqlCommand();                                                       //声明并实例化SQL命令;
            sqlCommand.Connection = sqlConnection;                                                          //将SQL命令的连接属性指向SQL连接;
            sqlCommand.CommandText = "SELECT * FROM tb_Pharmacy;";                                           //指定SQL命令的命令文本;该命令查询所有学生;
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                           //声明并实例化SQL数据适配器;
            sqlDataAdapter.SelectCommand = sqlCommand;                                                      //将SQL数据适配器的查询命令属性指向SQL命令;
            DataTable pharmacyTable = new DataTable();                                                       //声明并实例化数据表,用于保存所有药品,以用作数据网格视图的数据源;
            sqlConnection.Open();                                                                           //打开SQL连接;
            sqlDataAdapter.Fill(pharmacyTable);                                                              //SQL数据适配器读取数据,并填充药库数据表;
            sqlConnection.Close();                                                                          //关闭SQL连接;
            this.dgv_Pharmacy.DataSource = pharmacyTable;                                                       //将数据网格视图的数据源设为药品数据表;

效果截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值