datagrid根據按鈕點擊,傳進表名,然后顯示.......現在的問題是因為表不同,所以包含的字段也不同,有什么辦法來根據EditCommand后更改的內容UPDATE!!!

解决方案 »

  1.   

    当然  写会数据库 是需要声明一些语句的 
    SqlDataAdapter dataAdapter = new SqlDataAdapter("select id,zkzh,kch,zeh from OKTable", Common.PublicClass.GetSqlConnection());//
    DataSet dataSet = new DataSet();
    dataAdapter.Fill(dataSet,"OKTable");
    Common.Class1.getZKZH(dataSet);//在此随机生成准考证号(DataSet在此更改)
    。增加下面语句
    SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);
    dataAdapter.UpdateCommand= builder.GetUpdateCommand();(具体生成什么语言看你要执行的操作 如果是UPDATE 就用GetUpdateCommand)
    sqlAdapter.Update(dataSet.Tables["OKTable"])搞定 下会记得多给几分
      

  2.   

    protected void MyDataGrid_UpdateCommand(object source, DataGridCommandEventArgs e)
        {
            string selectCmd = "select  * from " + dataname;//動態SELECT語句        SqlConnection myConnection = new SqlConnection("Data Source=SERVER04;Initial Catalog=takbo2006;Persist Security Info=True;User ID=sa;Password=sa");
            SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
            SqlCommandBuilder builder = new SqlCommandBuilder(myCommand);//SqlDataAdapter更新dataname表
            builder.QuotePrefix = "[";
            builder.QuoteSuffix = "]";        DataSet ds = new DataSet();
            myCommand.Fill(ds, dataname);               // myCommand.UpdateCommand = builder.GetUpdateCommand();
            myCommand.Update(ds.Tables[dataname]);        Response.Write(myCommand.ToString());
            Response.Write(ds.Tables.Count.ToString());
            Response.Write("|");
            Response.Write(MyDataGrid.EditItemIndex.ToString());
            Response.Write("|");
            Response.Write(e.Item.ItemIndex.ToString());
            //ds.Tables[dataname].AcceptChanges();
            
            MyDataGrid.DataBind();        MyDataGrid.EditItemIndex = -1;
            fn_Datacheck(dataname);        
        }
    protected void fn_Datacheck(string cDataname)
        {        Response.Write(dataname);
            string selectCmd = "select  * from " + dataname;//動態SELECT語句        //連接數據庫
            SqlConnection myConnection = new SqlConnection("Data Source=SERVER04;Initial Catalog=takbo2006;Persist Security Info=True;User ID=sa;Password=sa");
            SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);        DataSet ds = new DataSet();
            myCommand.Fill(ds);        DataView source = new DataView(ds.Tables[0]);
            MyDataGrid.DataSource = source;
            MyDataGrid.DataBind();
        }我做了,但是Update后數據沒有update到數據庫里啊!!
      

  3.   

    需要怎么做啊?我的表是動態加進去的,所以不可能些靜態的update啊