使用DataBindings编辑输入后,C#更新数据库 [英] C# Updating Database after edited inputs using DataBindings
本文介绍了使用DataBindings编辑输入后,C#更新数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用WCF服务和Windows窗体.我的问题是在编辑文本字段后如何编码更新"按钮.在我的Windows窗体中,我有以下代码:
I'm using WCF Service and Windows Form. My problem is how to code the Update button after editing the text fields. In my windows form, I have this code:
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));
}
并且在编辑文本框内容之后,我想使用更新按钮"进行更新.
and after editing the textbox content, I want to update using Update Button.
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的代码
Here are the codes of my WCF Service 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中工作正常.
In my BLL and ENT is working fine.
谢谢
推荐答案
我已经知道了.这是我的代码.
I already figured it out. Here is my code.
public partial class frmStockList : Form
{
ServiceReference1.StockCardServicesClient stockList = new ServiceReference1.StockCardServicesClient();
ServiceReference1.StockList stockDetails = new ServiceReference1.StockList();
public frmStockList(frmMainForm mainForm)
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ShowStockListDetails();
}
private void ShowStockListDetails()
{
stockDetails.SearchIDNumber = frmMainForm.stockCardID.ToString();
var StockList = stockList.GetParticularCard(stockDetails);
stockDetails = StockList[0];
BindingSource StockCardList = new BindingSource();
StockCardList.ResetBindings(false);
StockCardList.DataSource = stockDetails;
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));
txtMinimum.DataBindings.Add(new Binding("Text", StockCardList, "Minimum", true));
txtMaximum.DataBindings.Add(new Binding("Text", StockCardList, "Maximum", true));
cmbUOMPO.DataBindings.Add(new Binding("Text", StockCardList, "UOMPO", true));
cmbUOMSTOCK.DataBindings.Add(new Binding("Text", StockCardList, "UOMStock", true));
cmbUOMPERISSUE.DataBindings.Add(new Binding("Text", StockCardList, "UOMIssue", true));
txtUOMRatio.DataBindings.Add(new Binding("Text", StockCardList, "UOMRatio", true));
txtWidth.DataBindings.Add(new Binding("Text", StockCardList, "Width", true));
txtHeight.DataBindings.Add(new Binding("Text", StockCardList, "Height", true));
txtLength.DataBindings.Add(new Binding("Text", StockCardList, "Length", true));
txtNetWeight.DataBindings.Add(new Binding("Text", StockCardList, "NetWeight", true));
txtWarningExpiration.DataBindings.Add(new Binding("Text", StockCardList, "WarningPeriod", true));
txtShelfLife.DataBindings.Add(new Binding("Text", StockCardList, "ShelfLife", true));
txtCostCode.DataBindings.Add(new Binding("Text", StockCardList, "CostCodePurchase", true));
cmbIssueToJob.DataBindings.Add(new Binding("Text", StockCardList, "CostCodeIssueToJob", true));
cmbIssueToWS.DataBindings.Add(new Binding("Text", StockCardList, "CostCodeIssueToWS", true));
cmbIssueToOPCO.DataBindings.Add(new Binding("Text", StockCardList, "CostCodeIssueToOPCO", true));
cmbIssueForDisposalSCD.DataBindings.Add(new Binding("Text", StockCardList, "CostCodeIssueToDisposalSCD", true));
cmbIssueForDisposalDMG.DataBindings.Add(new Binding("Text", StockCardList, "CostCodeIssueToDisposalDMG", true));
cmbIssueForDisposalEXP.DataBindings.Add(new Binding("Text", StockCardList, "CostCodeIssueToDisposalEXP", true));
cmbIssueForDisposalOBS.DataBindings.Add(new Binding("Text", StockCardList, "CostCodeIssueToDisposalOBS", true));
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
Dispose();
}
private void btnUpdate_Click(object sender, EventArgs e)
{
stockDetails.ID = frmMainForm.stockCardID.ToString();
stockList.UpdateStockCard(stockDetails);
MessageBox.Show("Update successfull!", "Update Details", MessageBoxButtons.OK, MessageBoxIcon.Information);
Close();
Dispose();
}
}
这篇关于使用DataBindings编辑输入后,C#更新数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文