我正在使用自己的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)抱歉,我对文本框搞砸了,所以文本框的名称是随机的,很难理解。
有没有办法让这种情况发生?如果是这样,请帮助。感谢。
答案 0 :(得分:0)
您似乎传递了错误的数据类型的参数。请检查从文本框和文本框传递的值的数据类型。数据库表的列。我相信会有一些错过的比赛。