7.1 数据集 DataSet
DataSet包含一个或多个DataTable对象的集合
DataSet对象用于缓存从数据检索的数据
dataset 相当于一个小的数据库 huawei
所有的数据表构成表集合 datatablecollection
dataset ds =new dataset();
int index=0;
7.2 数据适配器 DataAdapter
属性:EmptyResult 不返回任何数据
方法:update: 将dataset中的数据返回到数据库中
ds.tables[0].row[0][0]
第一个0:第一个表
第二个0:第一行
第三个0:第一列
7.3 DataGridView控件
7.4 DataView 对象筛选和排序数据
dataview是一张datatable 的虚拟表,主要用来显示数据,其实数据的更改都是发生在datatable中
dataview 是ds.tables[0]的影子
rowfilter:
sort:排序
创建DataView对象
DataView dv=new DataView(DataTable)
或者是
DataView dv=DataTable.DefaultView
//创建数据集对象
DataSet ds = new DataSet();
//连接字符串(在加载事件中)
string connstring = "server=.;initial catalog=GameBoxDB;integrated security=true";
//取消dataGridView生成列
dataGridView1.AutoGenerateColumns = false;
//设置dataGridView数据源
dataGridView1.DataSource = ds.Tables[0];
DataView dv = ds.Tables[0].DefaultView;
dataGridView1.DataSource = dv;
1.创建dataset对象,保存查询结果数据
dataset ds=new dataset();
2.当前显示产品记录的索引
int index=0;
3.自定义方法,实现连接数据库并使用适配器向数据集中填充数据
private void conndatabase(){
4.创建连接字符串
string connstring =“server=.; database=huawei;(或者是:initial catalog=huawei); integrated securtity=true”
5.定义查询数据库的SQL语句
string sql=" 里面放SQL语句";
6.定义dataadapter对象
sqldataadapter dap=new sqldataadapter (sql,conn);
7.填充数据
dap.fill(ds);
8.关闭连接对象
conn.close();
9.释放连接对象
conn.dispose();
}
10.自定义方法,实现将datatable 加载到文本框等控件并显示数据
private void showproduct()
{
datatable dt=ds.tables[0];(先从数据集ds中获取保存数据的数据表,因为只查询了一个表的数据,所以索引为0)
}
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace studentquiz
{
public partial class Form2 : Form
{
string connstring = "server=.;database=huawei;integrated security=true ";
DataSet ds = new DataSet();
SqlDataAdapter dap;
int index = 0;
public Form2()
{
InitializeComponent();
}
private void Label1_Click(object sender, EventArgs e)
{
}
private void Txtname_TextChanged(object sender, EventArgs e)
{
}
private void Label2_Click(object sender, EventArgs e)
{
}
private void Txtage_TextChanged(object sender, EventArgs e)
{
}
private void Form2_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(connstring);
dap = new SqlDataAdapter("select * from student",conn);
dap.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
txtname.Text = ds.Tables[0].Rows[index][0].ToString();
txtage.Text = ds.Tables[0].Rows[index][1].ToString();
conn.Close();
conn.Dispose();
}
private void Button2_Click(object sender, EventArgs e)
{
index++;
txtname.Text = ds.Tables[0].Rows[index][0].ToString();
txtage.Text = ds.Tables[0].Rows[index][1].ToString();
}
private void Button1_Click(object sender, EventArgs e)
{
index--;
txtname.Text = ds.Tables[0].Rows[index][0].ToString();
txtage.Text = ds.Tables[0].Rows[index][1].ToString();
if (index==0)
{
}
}
private void Button3_Click(object sender, EventArgs e)
{
DataView dv = ds.Tables[0].DefaultView;
string name = txtsearch.Text;
dv.RowFilter = string.Format("name like '%{0}%'",name);
dataGridView1.DataSource = dv;
}
}
}