datatable的应用学习笔记
Datatable学习笔记
一.
知识点描述
调用DataAdapter的Fill()方法,可以把来自数据源的数据填充到本机的DataTable中。一个DataSet中可以包括多个DataTable,并且可以通过DataRelation设置这些DataTable之间的关系。
Datatable属性
Rows 获取或设置当前DataTable内的所有行,即相应数据表里的所有记录
Columns 获取或设置当前DataTable内的所有列
TableName 获取或设置当前DataTable的名称
DataSet 获得包含当前表的DataSet
PrimaryKey 获得或设置作为数据表主键的列数组
Constraints 获得表约束的集合(ConstraintCollection)
DataTable的常用方法
名称 说明
AcceptChanges() 提交对该表的所有修改
NewRow() 为当前DataTable增加一个新行,返回NewRow对象
Clear() 清除DataTable中原来的数据,通常在获取新的数据前调用
Clone() 借助本窗体的数据表的方法Clone,创建相同架构的空表,用于保存搜索结果所在数据行
Find() 借助本窗体的数据表的行集合的方法Find,根据主键值快速查找相应内容,并返回其所在的数据行;但数据行不能作为数据源,需另行创建数据表,并导入该数据行,最后将数据表作为数据源
Select() 借助本窗体的数据表的方法Select,并提供与SQL类似的谓词表达式作为查询条件,查询将返回数据行数组
思维导图
三。
示例代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 手术管理
{
public partial class 手术安排 : Form
{
private DataTable patienttable;
public 手术安排()
{
InitializeComponent();
this.dataGridView1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;
this.StartPosition = FormStartPosition.CenterScreen;
}
private void label7_Click(object sender, EventArgs e)
{
}
private void label9_Click(object sender, EventArgs e)
{
}
private void load_Click(object sender, EventArgs e)
{
SqlConnection sqlConnection = new SqlConnection();
sqlConnection.ConnectionString =
"Data Source=(local);Initial Catalog=OperationAdministration;Integrated Security=True";
SqlCommand sqlCommand = new SqlCommand();
sqlCommand.Connection = sqlConnection;
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
sqlDataAdapter.SelectCommand = sqlCommand;
DataTable patienttable = new DataTable();
sqlConnection.Open();
sqlCommand.CommandText = "SELECT * FROM PatientInfo;";
sqlDataAdapter.Fill(patienttable);
sqlConnection.Close();
this.patienttable = patienttable;
this.dataGridView1.Columns.Clear();
this.dataGridView1.DataSource = patienttable;
this.dataGridView1.DataSource = patienttable ;
this.dataGridView1.Columns["No"].ReadOnly = true;
this.dataGridView1.Columns["No"].HeaderText = "住院号";
this.dataGridView1.Columns["Name"].HeaderText = "姓名";
this.dataGridView1.Columns["Gender"].HeaderText = "性别";
this.dataGridView1.Columns["Age"].HeaderText = "年龄";
this.dataGridView1.Columns["Bingqu"].HeaderText = "病区";
this.dataGridView1.Columns["Bingchuang"].HeaderText = "病床";
this.dataGridView1.Columns["Xingzhi"].HeaderText = "性质";
this.dataGridView1.Columns["Helper"].HeaderText = "助手";
this.dataGridView1.Columns["Doctor"].HeaderText = "手术医师";
this.dataGridView1.Columns["PoisonDoctor"].HeaderText = "麻醉医师";
this.dataGridView1.Columns["PoisonWay"].HeaderText = "麻醉方法";
this.dataGridView1.Columns["DateTime"].HeaderText = "手术日期";
this.dataGridView1.Columns["Helper2"].HeaderText = "助手2";
this.dataGridView1.Columns["Nurse"].HeaderText = "护士";
this.dataGridView1.Columns["Nurse2"].HeaderText = "护士2";
this.dataGridView1.Columns["Attention"].HeaderText = "注意事项";
}
}
}
效果截图