关于C#中使用数据适配器更新Dataset数据集的问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 01:26:26
我想请问我自从本地生成了一个数据表,数据表的内容跟数据库中的记录一样,表结构和数据库里面的结构一样,我如何才能使用数据适配器将表更新到数据库?
表结构如下:
student
id int,name varchar,age int,sex varchar
数据库中比如有一条记录
1 张三 28 男
本地所建的数据表也有这条记录

我在本地的datagrid绑定数据集,当用户修改后我要将该结果集更新到数据库,请问怎么实现?
我试了SQLParamenterBuild和手动添加数据适配器的updateCommand对像,并设置了参数,但是使用适配器的update方法任然无法更新到数据库,但不会报错!
请哪位大虾解决!
我说的不是先填充记录集再更新,我的意思是说我本地一个全新的数据集,可以看做是数据库中填充数据集的副本,我在datagrid控件中对数据修改了,我现在要用数据适配器进行更新,而更新的表是以前数据集所查询的表,如我开始创建了一个记录集ds1,使用select * from student进行查询,我将查询结果集过滤给另一个表datatable1,然后绑定到datagrid,当用户修改了数据,我要使用数据适配器的update方法更新到数据库,怎么操作?
补充2:
我是为了做个例子来扩展思路,你所说的哪些对我来说都不存在问题,因为我用副本来更新数据库,适配器会认为全是新记录而使用insertcommand,这样就达不到我要的效果!我要求是使用update来更新我修改的记录,就像是使用我原来的数据集一样的!不知道有没有人知道我的意思?

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace ClassLibrary1
{
public class Classs
{
private string constr = ConnectString.sqlConnectString;
public string Msg = "";
public DataSet GetClassList()
{
SqlConnection objSqlConnection;
SqlDataAdapter objSqlDataAdapter;
DataSet objDataSet = new DataSet();
try
{
objSqlConnection = new SqlConnection(constr);
objSqlDataAdapter = new SqlDataAdapter("select * from class",objSqlConnection);
objSqlDataAdapter.Fill(objDataSet, "class");
}
catch (SqlException ex)
{
Msg = ex.Message;
return null;