【发布时间】:2018-01-22 11:22:42
【问题描述】:
我正在使用 WCF 服务和 Windows 窗体。 我的问题是如何在编辑文本字段后对更新按钮进行编码。 在我的 Windows 窗体中,我有以下代码:
ServiceReference1.StockCardServicesClient sList = new ServiceReference1.StockCardServicesClient();
BindingSource StockCardList = new BindingSource();
private void Form1_Load(object sender, EventArgs e)
{
StockCardList.DataSource = sList.GetParticularCard();
txtID.DataBindings.Add(new Binding("Text", StockCardList, "CategoryName", true));
txtOPCOID.DataBindings.Add(new Binding("Text", StockCardList, "MainGroupName", true));
txtSubGroupID.DataBindings.Add(new Binding("Text", StockCardList, "SubGroupName", true));
txtIDNumber.DataBindings.Add(new Binding("Text", StockCardList, "IDNumber", true));
txtPartNumber.DataBindings.Add(new Binding("Text", StockCardList, "PartNumber", true));
txtDescription.DataBindings.Add(new Binding("Text", StockCardList, "Description", true));
}
编辑文本框内容后,我想使用更新按钮进行更新。
private void btnUpdate_Click(object sender, EventArgs e)
{
ServiceReference1.StockCardServicesClient sList = new ServiceReference1.StockCardServicesClient();
ServiceReference1.StockList stockDetails = new ServiceReference1.StockList();
StockCardList.EndEdit();
sList.UpdateStockCard(stockDetails)
}
这是我的 WCF 服务 DAL 的代码
public void UpdateStockCard(StockList stockDetails)
{
con.Open();
SqlCommand cmd = new SqlCommand("UPDATE StockCard SET PartNumber=@partNumber WHERE IDNumber='1731-000246'", con);
cmd.Parameters.AddWithValue("@categoryName", stockDetails.CategoryName);
cmd.Parameters.AddWithValue("@mainGroupName", stockDetails.MainGroupName);
cmd.Parameters.AddWithValue("@subGroupName", stockDetails.SubGroupName);
cmd.Parameters.AddWithValue("@idNumber", stockDetails.IDNumber);
cmd.Parameters.AddWithValue("@partNumber", stockDetails.PartNumber);
cmd.ExecuteNonQuery();
con.Close();
}
在我的 BLL 和 ENT 中工作正常。
谢谢
【问题讨论】:
-
您似乎正在尝试使用一组文本框绑定和编辑一组项目。您应该绑定到像网格这样的控件或使用绑定导航器。
-
我没有在那个 windows 窗体中使用 datagridview。所有详细信息都应在文本框中进行编辑。它应该使用更新按钮进行更新。
-
我刚刚注意到对 GetParticularCard 的调用。我想这会得到一个项目。那么,现在我想问一下——你遇到了什么问题?
-
我想在编辑文本框字段后更新数据库中的记录。如您所见,我有一个 btnUpdate_Click 来更新,但我不知道如何编码。
-
我认为在这里使用 BindingSource 有点矫枉过正,因为您只编辑一个项目并跨越系统边界,因此您无法使用内置更新功能,但如果我知道什么,我可以写一个答案输入
GetParticularCard()返回。