使用DataBindings编辑输入后,C#更新数据库 [英] C# Updating Database after edited inputs using DataBindings

查看:84
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆