本文介绍了使用DataGridView的主从表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的所有人,

我设计了一种可以实现生产数据操纵的表格.

Dear All,

I have designed a form which fulfills production data manipulation.

AdaptMst.SelectCommand = new SqlCommand("SELECT * FROM Iss_Mst WHERE FromDeptID=8 AND ToDeptID!=8 ORDER BY DATE DESC", baseConnection);
            ADaptDetails.SelectCommand = new SqlCommand("SELECT ID,IssMstID,ToOprID,ToDrgId,BatchNo,Qty,FromOprID,Rew,Back FROM Iss_Dtl",baseConnection);
            try
            {
                baseConnection.Open();
                AdaptMst.Fill(tblMst);
                ADaptDetails.Fill(tblDetails);
                dsInspProd.Tables.Add(tblMst);
                dsInspProd.Tables.Add(tblDetails);

                dsInspProd.Tables[0].TableName = "tblMst";
                dsInspProd.Tables[1].TableName = "tblDetails";

                dsInspProd.Tables[0].Columns["ID"].AutoIncrement = true;
                dsInspProd.Tables[0].Columns["ID"].Unique = true;
                
                dsInspProd.Tables[1].Columns["ID"].AutoIncrement = true;
                dsInspProd.Tables[1].Columns["ID"].Unique = true;
                

                dsInspProd.EnforceConstraints = false;
                DataRelation dr = new DataRelation("IssDtl",dsInspProd.Tables[0].Columns["ID"],dsInspProd.Tables[1].Columns["IssMstID"]);
                dr.Nested = true;
                dsInspProd.Relations.Add(dr);

                bsMaster.DataSource = dsInspProd;
                bsMaster.DataMember = "tblMst";

                bsDetails.DataSource = bsMaster;
                bsDetails.DataMember = "IssDtl";
                bnBase.BindingSource = bsMaster;
                InitCommonData();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
            finally
            {
                baseConnection.Close();
            }

 protected override void tsbtnBaseSave_Click(object sender, EventArgs e)
        {
            base.tsbtnBaseSave_Click(sender, e);
            try
            {

                dsInspProd.AcceptChanges();
                SqlCommandBuilder Updt = new SqlCommandBuilder(AdaptMst);
                AdaptMst.UpdateCommand = Updt.GetUpdateCommand();
                AdaptMst.Update(dsInspProd, "tblMst");

                SqlCommandBuilder UpdtDetails = new SqlCommandBuilder(ADaptDetails);
                ADaptDetails.UpdateCommand = UpdtDetails.GetUpdateCommand();

                SqlCommandBuilder InsertDetails = new SqlCommandBuilder(ADaptDetails);
                ADaptDetails.InsertCommand = InsertDetails.GetInsertCommand();

                ADaptDetails.Update(dsInspProd, "tblDetails");
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message.ToString());
                tsBaseLabel.Text = ex.Message.ToString();
            }
        }



我能够更新/编辑记录,但是当我尝试添加新记录时,会出现实例错误.

在主从记录中添加新记录的错误...是什么?

我设计了一个包含BindingNavigator和BindingSource对象的基本表单,这些对象的方法在派生表单上实现.

请帮忙.

谢谢,
Bhavin.



I am able to Update/Edit records, But When I am trying to add a new record, It gives an Instance error.

What is the missign for adding new records in master-detail record...?

I have designed a base form which contains BindingNavigator and BindingSource Objects, the methods of these objects are implemented on the derived form.

Please help.

Thanks,
Bhavin.

推荐答案

AdaptMst.SelectCommand = new SqlCommand("SELECT * FROM Iss_Mst WHERE FromDeptID=8 AND ToDeptID!=8 ORDER BY DATE DESC", baseConnection);


您不能在SQL脚本中使用``!='',因此将其替换为``<>''.
有关更多信息,请查看以下帖子:
http://social.msdn.microsoft.com/论坛/en-US/adodotnetdataset/thread/4d10fe87-2de8-42a8-8ef9-b9d46c0fd28d [ ^ ]
http://www.dotnettreats.com/tipstricks/howtodal1.aspx [ ^ ]
http://forums.asp.net/t/1392048.aspx/1 [ ^ ]

希望对您有帮助,
干杯


You can not use ''!='' in SQL scripts so replace it with ''<>'' .
For more information take a look at these posts:
http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataset/thread/4d10fe87-2de8-42a8-8ef9-b9d46c0fd28d[^]
http://www.dotnettreats.com/tipstricks/howtodal1.aspx[^]
http://forums.asp.net/t/1392048.aspx/1[^]

I hope it helps,
Cheers


这篇关于使用DataGridView的主从表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 16:07