DataSetLà thành phần chính của kiến trúc không kết nối cơ sở dữ liệu, được dùng để nắm giữ dữ liệu của mọi cơ sở dữ liệu và cho phép thay đổi dữ liệu bên trong đối tượng này để sau đó cập nhật trở lại cơ sở dữ liệu nguồn bằng phương thức Update của đối tượng DataAdapter
Khởi tạo
DataSet dataset = new DataSet();
DataSet dataset = new DataSet("Mydataset");
Thuộc tính Tables, dataset được dùng để chứa danh sách các đối tượng DataTable
Ví dụ:
Code:
private void button1_Click(object sender, EventArgs e)
{
string strQuery = "select * from tblEmployees";
DataSet dataSet = new DataSet("Employees");
try
{
SqlDataAdapter sqlDataAdapter = new
SqlDataAdapter(strQuery, Connection.sqlConnection);
sqlDataAdapter.Fill(dataSet);
sqlDataAdapter.Dispose();
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
this.dataGridView1.DataSource = dataSet.Tables[0];
//lay ve ten cua doi tuong dataset
label1.Text ="DataSetName: " + dataSet.DataSetName ;
}
private void button2_Click(object sender, EventArgs e)
{
//khai bao phat bieu sql 1
string strQuery = "select * from tblEmployees";
DataSet dataSet = new DataSet("Employees");
try
{
SqlDataAdapter sqlDataAdapter = new
SqlDataAdapter(strQuery, Connection.sqlConnection);
sqlDataAdapter.Fill(dataSet);
//khai bao phat bieu sql 2
strQuery = "select * from tblContracts";
sqlDataAdapter = new
SqlDataAdapter(strQuery, Connection.sqlConnection);
DataTable dataTable = new DataTable();
sqlDataAdapter.Fill(dataTable);
dataSet.Tables.Add(dataTable);
sqlDataAdapter.Dispose();
string dataTableName="";
foreach(DataTable dt in dataSet.Tables)
{
dataTableName += dt.TableName + " ";
}
label1.Text = "Number of tables: " + dataTableName ;
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
this.dataGridView1.DataSource = dataSet.Tables[1] ;
}
Phuong thuc Add, Remove
DataSet dataset=new DataSet();
DataTable datatable=new DataTable(“datatablename”);
dataset.Tables.Add(datatable);
dataset.Tables.Remove(datatable);
xoa voi datatable duoc dat tên
dataset.Tables.Remove(datatablename);
dataset.Tables.RemoveAt(0);
phương thức Clear loại bỏ tất cả các đối tượng trong DataTable
dataset.Tables.Clear();
Để đếm số dòng trên bảng ta có thể thực hiện: int sodong=dataset.Tables[0].Rows.Count;