在C#中编辑和保存Microsoft Access的结果

时间:2016-10-23 13:50:35

标签: c# database winforms ms-access textbox

我正在使用自己的POS系统,我使用此代码尝试让应用程序编辑项目的“数量”。我做的是我有一个搜索栏,我可以在其中搜索条形码ID,数据将显示在文本框中。 (IE:原始数量将显示在textBox1中。我会得到textBox.Text +“1”[我不会在这里详细说明但它有效,如果你确实需要代码,请发表评论])。现在我想链接和编辑数据到Access数据库并插入第二个文本框(原始文本框+1)的结果 这是错误: Error image

以下是代码:

       using System.Data.OleDb;
       using System.Drawing.Printing;
       using System.IO;
       using System.Drawing.Imaging;

       namespace TestBarcode
                {
                        public partial class POS : Form
                {
          private OleDbConnection connection = new OleDbConnection();


    public POS()
    {
        InitializeComponent();
            connection.ConnectionString=@"Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\POS\Database\MainDatabase_POS.accdb;
        Persist Security Info=False;";
    }

        private void POS_Load(object sender, EventArgs e)
    {

          this.inventoryManagementTableAdapter.Fill(this.mainDatabase_POSDataSet.InventoryManagement);
        checkBox1.Show();
        checkBox2.Hide();
        try
        {
            connection.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = connection;
            string query = "select * from InventoryManagement";
            command.CommandText = query;

            OleDbDataAdapter da = new OleDbDataAdapter(command);
            DataTable dt = new DataTable();
            da.Fill(dt);
            dataGridView1.DataSource = dt;

            connection.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error" + ex);
        }
     }


  try
        {
            connection.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = connection;

   //EditTextHere

           string query = "UPDATE InventoryManagement set Số_Lượng_Trong_Kho='" + textBox25.Text + "',Mã_Số_Vạch='" + textBox19.Text + "',Mã_thợ='" + textBox13.Text + "',Kiểu='" + textBox14.Text + "',Size_Giày='" + textBox15.Text + "',Màu='" + textBox16.Text + "',Giá='" + textBox17.Text + "'where ID=" + textBox24.Text + "";

command.CommandText = query;

            command.ExecuteNonQuery();
            MessageBox.Show(query);

            connection.Close();

        }

        catch (Exception ex)
        {
            MessageBox.Show("Error" + ex);
        }

PS:(1)忽略越南文本,如果你愿意,你可以用任何东西替换这些单词。

(2)抱歉,我对文本框搞砸了,所以文本框的名称是随机的,很难理解。

有没有办法让这种情况发生?如果是这样,请帮助。感谢。

1 个答案:

答案 0 :(得分:0)

您似乎传递了错误的数据类型的参数。请检查从文本框和文本框传递的值的数据类型。数据库表的列。我相信会有一些错过的比赛。