ADO.Net中DataTable的应用

ADO.Net中DataTable的应用

 

一、知识点描述

 

1、DataTable 表示一个内存内关系数据的表,可以独立创建和使用,也可以由其他 .NET Framework 对象使用,最常见的情况是作为 DataSet 的成员使用。

 

2、创建DataTable

使用相应的DataTable构造函数创建DataTable对象

使用Add方法将其添加到DataTable对象的Tables集合中,将其添加到DataSet中。

使用DataAdapter对象的Fill方法方法在DataSet中创建

 

3、按名称引用表中的列、关系和约束是区分大小写的。 因此,一个表中可以存在两个或两个以上名称相同(但大小写不同)的列、关系或约束。

 

4、DataSet中创建DataTable之后可以对数据表中的数据进行增、删、改、查等操作。

 

二、思维导图

 

 

三、效果截图

 

 

 

 

四、示例代码

 

1、创建表

DataTable dt = new DataTable();//创建一个空表

DataTable dt = new DataTable("Table");//创建一个名为"Table"的空表

 

2、创建列

DataColumn dc = new DataColumn();//创建空列
dt.Columns.Add(dc);//创建带列名的列
dt.Columns.Add("总价", typeof(String));//创建带列名和类型的列

 

3、创建行

DataRow dr = dt.NewRow();//创建空行
dt.Rows.Add(dr);//创建空行

 

4、复制表

DataTable dtNew = new DataTable();
dtNew = dt.Copy();//复制表
DataTable dtNew = dt.Copy();  //复制dt表数据结构
dtNew.Clear()  //清空数据
for (int i = 0; i < dt.Rows.Count; i++)
{
    if (条件语句)
    {
         dtNew.Rows.Add(dt.Rows[i].ItemArray);  //添加数据行  
  }
}
DataTable dtNew = new DataTable();
dtNew = dt.Clone();
DataTable dtNew = new DataTable();
dtNew = dt.Copy();
dtNew.Rows.Clear();//清空表数据
dtNew.ImportRow(dt.Rows[0]);//这是加入的是第一行

 

 5、具体示例

 private void frm_PatientInformationManage_Load(object sender, EventArgs e)
        {

            SqlConnection sqlConnection = new SqlConnection();                              //声明并实例化SQL连接;
            sqlConnection.ConnectionString =
                ConfigurationManager.ConnectionStrings["Sql"].ConnectionString;             //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
            SqlCommand sqlCommand = new SqlCommand();                                       //声明并实例化SQL命令;
            sqlCommand.Connection = sqlConnection;
            sqlCommand.CommandText = "select P_id as 医疗卡号,P_name as 姓名 ,P_sex as 性别,P_birthday as 生日,P_nation as 民族,Feetype as 付费类型,P_tel as 电话,P_pym as 拼音码,P_address as 地址,P_career as 职业,P_bloodtype  as 血型,P_allergic as 过敏药物,P_idcard as 身份证号,P_Photo from tb_patient";

            sqlConnection.Open();
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = sqlCommand;
            DataSet ds = new DataSet();
            da.Fill(ds, "tb_patient");
            dataGridView1.DataSource = ds.Tables["tb_patient"];
            this.dataGridView1.Columns["P_Photo"].Visible = false;   //隐藏照片列

            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();                                           //声明并实例化SQL数据适配器,同时借助构造函数,将其SelectCommand属性设为先前创建的SQL命令;
            sqlDataAdapter.SelectCommand = sqlCommand;                                                      //将SQL数据适配器的查询命令属性指向SQL命令;
            DataTable tb_patient = new DataTable();                                                         //声明并实例化数据表,用于保存所有患者,以用作下拉框数据源;
                                                                                    //打开SQL连接;
            sqlDataAdapter.Fill(tb_patient);                                                                //SQL数据适配器读取数据,并填充患者数据表;
            this.cmb_SearchPYM .DataSource = tb_patient;                                                         //将班级下拉框的数据源设为患者数据表;
            this.cmb_SearchId .DataSource = tb_patient; 
            this.cmb_SearchId.DisplayMember = "医疗卡号";
            this.cmb_SearchPYM.DisplayMember = "拼音码"; 
        
}

 

 

 

 

 

 

posted on 2018-10-29 09:35  HUANGS  阅读(137)  评论(0)    收藏  举报

导航