您的位置:首页 > 其它

dataadapter dataset 注意事项

2011-11-16 17:10 197 查看
用DataSet和DataAdapter操作数据库,要注意以下几点:

一 不能忘记建立SqlCommandBuilder对象

//自动生成 InsertCommand UpdateCommand DeleteCommand属性 只能对单一表的情况,不能对多个表

SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

二 一删除为例

代码若这样写:

DataRow deleteRow = dataset.Tables["studentTable"].Rows.Find(5);

//set.Tables["studentTable"].Rows.Remove(deleteRow);我测试了下,这句删除不了 没效果

改为 deleteRow.Delete()

以上代码的Find()方法中的参数是 主键的标识,因此这样操作必须为表设置主键。否则会报异常。

// 设置主键

DataColumn[] key = new DataColumn[1];

key[0] = set.Tables["studentTable"].Columns["学号"];

set.Tables["studentTable"].PrimaryKey = key;

不设主键也可以,代码改为

dataset.Tables["studentTable"].Rows[1].Delete();

一句代码就可以完成删除操作。 不过要注意的是 这里Row[]里的数值是按行索引的序列 下标从0开始。

以上操作只是对数据集进行操作 并没有影响到数据源,因此若要更改数据源 别忘了加上这句:

adapter.Update(dataset, "studentTable");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: