x.dataSet11.Tables["D_Type"].Rows.RemoveAt(n);
x.dataSet11.Tables["D_Type"].AcceptChanges();
             
            dataGrid1.Refresh();
save();--->
x.dataSet11.Tables["D_Type"].Rows[n].Delete();
              save();
            dataGrid1.Refresh();

解决方案 »

  1.   

    可能是没有更新到数据源吧?
    用 SqlCommandBuilder 生成一下更新语句,执行一下看看。new SqlCommandBuilder(sda);  // sda 是某个 DataAdapter
    sda.Update(ds);
      

  2.   

    int i=dataGrid1.CurrentCell.RowNumber; //dataGrid1的当前行号
    aa.Tables["aa"].Rows[i].Delete();  
                
                aa.Tables["aa"].AcceptChanges();
    ===============================================================public DataSet ExecuteSql(string connStr,DataSet myDataSet,string myDataTable)
    {
    SqlConnection conn=new SqlConnection(connStr);
    //SqlCommand cm=new SqlCommand(sqlStr,conn);  

    //cm.CommandType=CommandType.Text;

    SqlDataAdapter mySDA=new SqlDataAdapter();
    //mySDA.Fill(myDataSet,myDataTable);    
    mySDA.Update(myDataSet,myDataTable);

    return myDataSet;
    //ConnClose(conn);


    }=========================================
    上面两个都 没起作用,哪位给解释一下!!!!!!
      

  3.   

    x.dataSet11.Tables["D_Type"].AcceptChanges();  
    有这一句你肯定不能删除数据!!!!!
      

  4.   

    谢谢 brightheroes(闭关|那一剑的风情)  已经解决了
      

  5.   

    fxywkj(胡言乱语,不必当真) (sqlDa.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    sqlDa.DeleteCommand =new SqlCommand();
    sqlDa.InsertCommand =new SqlCommand();
    sqlDa.SelectCommand =new SqlCommand();
    sqlDa.UpdateCommand =new SqlCommand();


    sqlDa.SelectCommand.CommandText = "SELECT ID, SN, Valid, HardDiskSN, CDSN, RegistMode, Times, RegDate FROM lotterysn" + "";
    sqlDa.SelectCommand.Connection = sqlCnn;
    // 
    // sqlInsertCommand1
    // 
    sqlDa.InsertCommand.CommandText = @"INSERT INTO lotterysn(SN, Valid, HardDiskSN, CDSN, RegistMode, Times, RegDate) VALUES (@SN, @Valid, @HardDiskSN, @CDSN, @RegistMode, @Times, @RegDate); SELECT ID, SN, Valid, HardDiskSN, CDSN, RegistMode, Times, RegDate FROM lotterysn WHERE (ID = @@IDENTITY)";
    sqlDa.InsertCommand.Connection = this.sqlCnn;
    sqlDa.InsertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@SN", System.Data.SqlDbType.VarChar, 10, "SN"));
    sqlDa.InsertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Valid", System.Data.SqlDbType.Int, 4, "Valid"));
    sqlDa.InsertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@HardDiskSN", System.Data.SqlDbType.NVarChar, 50, "HardDiskSN"));
    sqlDa.InsertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CDSN", System.Data.SqlDbType.NVarChar, 50, "CDSN"));
              sqlDa.InsertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RegistMode", System.Data.SqlDbType.NVarChar, 50, "RegistMode"));
         sqlDa.InsertCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Times", System.Data.SqlDbType.Int, 4, "Times"));sqlDa.UpdateCommand.CommandText = @"UPDATE lotterysn SET SN = @SN, Valid = @Valid, HardDiskSN = @HardDiskSN, CDSN = @CDSN, RegistMode = @RegistMode, Times = @Times, RegDate = @RegDate WHERE (ID = @Original_ID) AND (CDSN = @Original_CDSN OR @Original_CDSN IS NULL AND CDSN IS NULL) AND (HardDiskSN = @Original_HardDiskSN OR @Original_HardDiskSN IS NULL AND HardDiskSN IS NULL) AND (RegDate = @Original_RegDate OR @Original_RegDate IS NULL AND RegDate IS NULL) AND (RegistMode = @Original_RegistMode OR @Original_RegistMode IS NULL AND RegistMode IS NULL) AND (SN = @Original_SN OR @Original_SN IS NULL AND SN IS NULL) AND (Times = @Original_Times OR @Original_Times IS NULL AND Times IS NULL) AND (Valid = @Original_Valid OR @Original_Valid IS NULL AND Valid IS NULL); SELECT ID, SN, Valid, HardDiskSN, CDSN, RegistMode, Times, RegDate FROM lotterysn WHERE (ID = @ID)";
        sqlDa.UpdateCommand.Connection = this.sqlCnn;
        sqlDa.UpdateCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@SN", System.Data.SqlDbType.VarChar, 10, "SN"));sqlDa.DeleteCommand.CommandText = @"DELETE FROM lotterysn WHERE (ID = @Original_ID) AND (CDSN = @Original_CDSN OR @Original_CDSN IS NULL AND CDSN IS NULL) AND (HardDiskSN = @Original_HardDiskSN OR @Original_HardDiskSN IS NULL AND HardDiskSN IS NULL) AND (RegDate = @Original_RegDate OR @Original_RegDate IS NULL AND RegDate IS NULL) AND (RegistMode = @Original_RegistMode OR @Original_RegistMode IS NULL AND RegistMode IS NULL) AND (SN = @Original_SN OR @Original_SN IS NULL AND SN IS NULL) AND (Times = @Original_Times OR @Original_Times IS NULL AND Times IS NULL) AND (Valid = @Original_Valid OR @Original_Valid IS NULL AND Valid IS NULL)";
    sqlDa.DeleteCommand.Connection = this.sqlCnn;
    sqlDa.DeleteCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ID", System.Data.DataRowVersion.Original, null));
    sqlDa.DeleteCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CDSN", System.Data.SqlDbType.NVarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CDSN", System.Data.DataRowVersion.Original, null));