private void Form1_Load(object sender, System.EventArgs e)
{ //Relation 演示
conn=new SqlConnection ("Data Source=localhost;Initial Catalog=Northwind;user id=gan;pwd=123;"); customersda=new SqlDataAdapter ("select * from Customers",conn); ordersDa=new SqlDataAdapter ("select * from orders",conn);     detailDa=new SqlDataAdapter ("select * from [Order Details]",conn);  comb=new SqlCommandBuilder(customersda); comb=new SqlCommandBuilder(ordersDa); comb=new SqlCommandBuilder(detailDa); ds=new DataSet ();
            
customersda.Fill (ds,"customers"); ordersDa.Fill (ds,"orders"); detailDa.Fill (ds,"detail"); DataRelation Rel=ds.Relations.Add("关系",ds.Tables["customers"].Columns["CustomerID"], ds.Tables["orders"].Columns["CustomerID"]); DataRelation rel=ds.Relations.Add("订货详情",ds.Tables["orders"].Columns["OrderID"], ds.Tables["detail"].Columns["OrderID"]); dataGrid1.DataSource =ds.Tables ["customers"]; dataGrid2.DataSource =ds.Tables ["orders"]; dataGrid3.DataSource=ds.Tables["detail"];// da.DeleteCommand = cmd;
} private void button1_Click_1(object sender, System.EventArgs e)
{
try
{
detailDa.Update(ds,"detail"); ordersDa.Update(ds,"orders"); customersda.Update(ds,"customers");
}
catch(Exception ex)
{
MessageBox.Show (ex.Message );
}
         } private void textBox1_TextChanged(object sender, System.EventArgs e)
{

} private void button2_Click(object sender, System.EventArgs e)
{ SqlParameter parm=new SqlParameter(); SqlCommand cmd = new SqlCommand("DELETE FROM Customers WHERE CustomerID = @CustomerID", conn); parm = cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5); parm.Value=textBox1.Text; customersda.DeleteCommand = cmd; SqlCommandBuilder cmdb=new SqlCommandBuilder (customersda); }

解决方案 »

  1.   

    看看msdn的幫助
    ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataSqlClientSqlCommandBuilderClassTopic.htm
      

  2.   

    comb=new SqlCommandBuilder(customersda); comb=new SqlCommandBuilder(ordersDa); comb=new SqlCommandBuilder(detailDa);--------------------
    前2句岂不是白写了?分开写好了,一个Adapter对应一个CommandBuilder
    combCustomersda = new SqlCommandBuilder(customersda);combOrdersDa = new SqlCommandBuilder(ordersDa);combDetailDa = new SqlCommandBuilder(detailDa);
    ----------------------------------------------------
    private void button2_Click ()
    {...
    cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5);cmd.Parameters["@CustomerID"].Value=textBox1.Text;
    ...
    customersda.DeleteCommand = cmd;SqlCommandBuilder cmdb=new SqlCommandBuilder (customersda);// 这句话在这里很诡异:)
    }
    --------------------------------四十年来家国,三千里地山河,凤阁龙楼连霄汉,玉树琼枝作烟箩。几曾识干戈?
      

  3.   

    SqlCommandBuilder cmdb=new SqlCommandBuilder (customersda);// 这句话可不要了