RT,我的datagirdview绑定了数据库中的表A,我想实现的功能是客户在datagirdview中修改数据,点击更新后,表A里的数据也及时更新,
快没分了,大家帮帮忙!

解决方案 »

  1.   

    yi一个数据库的类
    基本的都有啦
    /// <summary>
    /// LinkDataBase 的摘要说明。
    /// </summary>
    public class LinkDataBase
    {
    private string strSQL;
    //与SQL Server的连接字符串设置
            //private string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\jxcbook_Data.MDF;Integrated Security=True;User Instance=True";
            private string connectionString = @"Data Source=.\mydb;Initial Catalog=jxcbook;Persist Security Info=True;User ID=sa;Password=sasa";
            //与数据库的连接
    private SqlConnection myConnection;

    private SqlCommandBuilder sqlCmdBld;
    private DataSet ds = new DataSet();
    private SqlDataAdapter da; public LinkDataBase()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }/////////////////////////////////  操作脱机数据库(创建了该类的实例时直接用)  /////////////////////////////////////////////////////

    //根据输入的SQL语句检索数据库数据
    public DataSet SelectDataBase(string tempStrSQL,string tempTableName)

    this.strSQL = tempStrSQL;
    this.myConnection = new SqlConnection(connectionString);
    this.da = new SqlDataAdapter(this.strSQL,this.myConnection);
    this.ds.Clear();
                
    this.da.Fill(ds,tempTableName );
    return ds;//返回填充了数据的DataSet,其中数据表以tempTableName给出的字符串命名
    } //数据库数据更新(传DataSet和DataTable的对象)
    public DataSet UpdateDataBase(DataSet changedDataSet,string tableName)
    {
    this.myConnection = new SqlConnection(connectionString);
    this.da = new SqlDataAdapter(this.strSQL,this.myConnection);
    this.sqlCmdBld = new SqlCommandBuilder(da);
    this.da.Update(changedDataSet,tableName);
    return changedDataSet;//返回更新了的数据库表
    }/////////////////////////////////  直接操作数据库(未创建该类的实例时直接用)  ///////////////////////////////////////////////////// //检索数据库数据(传字符串,直接操作数据库)
    public DataTable SelectDataBase(string tempStrSQL)
    {
    this.myConnection = new SqlConnection(connectionString);
    DataSet tempDataSet = new DataSet();
    this.da = new SqlDataAdapter(tempStrSQL,this.myConnection);
    this.da.Fill(tempDataSet);
    return tempDataSet.Tables[0];
    } //数据库数据更新(传字符串,直接操作数据库)
    public int UpdateDataBase(string tempStrSQL)
    {
    this.myConnection = new SqlConnection(connectionString);
    //使用Command之前一定要先打开连接,后关闭连接,而DataAdapter则会自动打开关闭连接
    myConnection.Open();
    SqlCommand tempSqlCommand = new SqlCommand(tempStrSQL,this.myConnection);
    int intNumber = tempSqlCommand.ExecuteNonQuery();//返回数据库中影响的行数
    myConnection.Close();
    return intNumber;
    }
    }
      

  2.   

    控件DataGridView一般都是和一个特定的数据集DataSet绑定的,
    在更新代码中调用DataSet的AcceptChanges()方法就可以实现所需功能