c#数据库操作
C#数据集应用大全
花了几天时间终于把C#数据集的一些基本应用都整理完了,做为C#数据库应用开发人员来说的话,这应该是必备知识了,
一、数据集基本应用
1.表格新增记录
方式一:利用BindingSource的AddNew
//新增记录,推荐使用,光标位置处于当前新增记录,且正处理编辑状态
DataRow thisRow = ((DataRowView)usersBindingSource.AddNew()).Row;
thisRow["OID"] = 5;
thisRow["CNAME"] = "新增用户";
thisRow["sex"] = "m";
方式二:利用DataTable的NewRow
//新增记录(不建议使用,因为这种方式Rows.Add时并不处于编辑状态时会受约束影响,且新增时光标不会自动移动该条记录)
DataRow thisRow = userDataSet.Tables["Users"].NewRow();
thisRow["OID"] = 5;
thisRow["CNAME"] = "新增用户";
thisRow["sex"] = "m";
userDataSet.Tables["Users"].Rows.Add(thisRow);
2.表格删除记录
方式一:利用BindingSource的RemoveCurrent
if (usersBindingSource.Current != null)
//删除当前记录,推荐使用
usersBindingSource.RemoveCurrent();
方式二:利用DataRowCollection的Remove
//删除当前记录,不推荐使用,这种方式不会记录到RowState中,保存时不会更新 DataRow thisRow = getCurrentDataRow(usersBindingSource);
if (thisRow != null)
userDataSet.Tables["Users"].Rows.Remove(thisRow);
方式三:利用DataRow的Delete
//删除当前记录,不推荐使用,BindingSource可以更简洁
DataRow thisRow = getCurrentDataRow(usersBindingSource);
if (thisRow != null)
thisRow.Delete();
3.表格修改记录
方式一:利用DataRowObject[列名]直接修改
DataRow thisRow = getCurrentDataRow(usersBindingSource);
if (thisRow != null)
{
thisRow.BeginEdit();
thisRow["CNAME"] = "修改的名称";
thisRow.EndEdit();
}
4.表格查找和筛选记录
方式一:利用DataRowCollection.find查找
DataColumn[] keys = new DataColumn[1];
keys[0] = userDataSet.Tables["Users"].Columns["OID"];
userDataSet.Tables["Users"].PrimaryKey = keys;
DataRow findRow = userDataSet.Tables["Users"].Rows.Find("1");
if (findRow == null)
{
MessageBox.Show("没有找到");
}
else
{
MessageBox.Show("成功找到,CNAME = " + findRow["CNAME"]);
}
方式二:利用BindingSource.find查找


