问题描述
亲爱的所有人,
我设计了一种可以实现生产数据操纵的表格.
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的主从表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!