湖南省博物馆网站建设,如何用asp做网站的登录界面,性咨询,制作网页模板适应不同分辨率使用SqlDataAdapter和DataSet维护数据库表数据一般按照如下步骤操作#xff1a;
1.建立数据库连接
2.使用sql查询语句创建SqlDataAdapter实例#xff0c;并利用SqlCommandBuilder自动生成SqlDataAdapter对象的InsertCommand#xff0c;UpdateCommand#xff0c;DeleteCom…使用SqlDataAdapter和DataSet维护数据库表数据一般按照如下步骤操作
1.建立数据库连接
2.使用sql查询语句创建SqlDataAdapter实例并利用SqlCommandBuilder自动生成SqlDataAdapter对象的InsertCommandUpdateCommandDeleteCommand属性.
3.创建dataset对象并用SqlDataAdapter对象的Fill方法对dataset进行填充.
4.利用dataset表的属性和方法对表的数据进行操作
5.调用SqlDataAdapter对象的Update方法将维护好的表数据更新到数据源即sql server数据库.
如下demo实现了使用DataAdapter和DataSet维护数据库的user表中的记录信息表的主键为ID另有字段name, 实现如下维护
(1) 插入两条新记录DataRow记录1124, Lisi和记录2125, ZhangSan
(2) 更新记录1key 124的内容为124, Lisi‘s sister
(3删除记录2key 125.
using (SqlConnection cn new SqlConnection(Connectionstring))
{cn.Open();SqlDataAdapter sda new SqlDataAdapter(selectcmd, cn);//使用sqlcommandBuilder对象自动创建sda对象的insertCommandupdateCommanddeleteCommandSqlCommandBuilder sqlbulider new SqlCommandBuilder(sda);DataSet ds new DataSet();//设置dataset表的主键字段DataRowCollection方法Find参数是主键列,否则找不到唯一的单行sda.Fill(ds, tableName);//将隐式query到的数据填充到ds中的表中表命名为tableName//dateset此处只返回一个表所以tables数据索引用索引0或表名都可以.ds.Tables[tableName].PrimaryKey new DataColumn[] { ds.Tables[0].Columns[ID] };//设置主键所在的Datacolumn,一般设例如ID这些唯一数据的列为primarykeds.Tables[tableName].Rows[0][ID] 123;//向表第一行的ID字段赋新值//add a new DataRow at table of datasetDataRow dr_new ds.Tables[0].NewRow();dr_new[ID] 124;dr_new[name] Lisi;ds.Tables[0].Rows.Add(dr_new);//更新表字段值DataRow dr_key124 ds.Tables[0].Rows.Find(124);dr_key124[name] Lisas sister;//dr_key124[1] Lisas sister;//add 2nd new DataRow at table of datasetDataRow dr_new2 ds.Tables[0].NewRow();dr_new[ID] 125;dr_new[name] ZhangSan;ds.Tables[0].Rows.Add(dr_new2);//remove the DataRow from table of dataset which the primary key column value is 124.//Find参数为主键列的字段值参数为主键。是为了一个值只有一个字段与之对应否则参数不是主键则可能出现返回多行而返回对象是Datarow就报错了很巧妙啊DataRow dr_remove ds.Tables[0].Rows.Find(124);//找到主键是124所在的行返回ds.Tables[0].Rows.Remove(dr_remove);//将维护更新后的表更新到数据库sda.Update(ds, tableName);
}