私は自分のPOSシステムで作業しています。このコードを使用してアプリケーションでアイテムの数量を編集しようとします。私がしたことは、バーコードIDを検索できる検索バーがあり、データがテキストボックスに表示されるということでした。 (IE:元の数量がtextBox1に表示されます。私はそのtextBox.Text + "1"を取得します[ここでは詳しくは触れませんが、コード]が必要な場合はコメントしてください)。C#でMicrosoft Accessの結果を編集して保存します
: Error imageここでのコードは次のとおりです。今、私はエラーです。ここ (つまり、元のテキストボックス1を持っている)にリンクして編集データをAccessデータベースおよび第二テキストボックスから結果を挿入したいです
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();
[email protected]"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)申し訳ありませんが、テキストボックスの名前がランダムで非常に理解しにくいように、テキストボックスに縛られています。
これを行う方法はありますか?もしそうなら、助けてください。ありがとう。
Updateコマンドと同様に、変数を単一引用符で囲むと、データベースエンジンに文字列として渡されます。エンジンが何か別のものを期待しているなら、あなたの '文字列'を期待値に変換しようとする可能性があります。いつかは、いつかはうまくいきます。パラメータの使用を開始し、データ型を正確に指定します。 – Steve
私はdatarowを選択し、次にそれがどのdatarowであるかを指定し、私が選択したものを編集すればうまくいくのでしょうか?このよう : foreachの(dt.RowsでのDataRow DB) {,,,,, }ウィルこの作品? –