これはルーキーのように見える場合は申し訳ありません:3 ...私はC#で多くの経験がありませんが、C#でコーディングするのが本当に好きです。言語。イベントを介して変数を渡すC#
私は、ボタンクリックで得られた値でデータベースに挿入できるように、ボタンクリックで変数を渡そうとしています。私はいくつかのボタンを別の文字列に、製品の値をリサイクルする自然言語のアプローチでこれはそうでしょう:
私は特定の "製品"をクリックすると、変数の製品は、これは私が "数量"ボタンをクリックすると、それは私にこれらの値を持つDBへの挿入を行うプログラムに続いて、数量番号を与えるだろう。しかし、私はクリックしたボタンに応じてこの値をリサイクルする方法には疑問があります。要するに
は、私が持っているコードは以下の通りであるデータベースに挿入された後
private String product;
private int quantity;
private char prodchosen;
private char quantitychosen;
private void Product_Click(object sender, EventArgs e)
{
prodchosen = 'Y';
product = "Beer";
}
private void Product2_Click(object sender, EventArgs e)
{
prodchosen = 'Y';
product = "Juice";
}
public void bttn1_Click(object sender, EventArgs e)
{
quantitychosen = 'Y';
quantity = 1;
if (prodchosen == 'Y' && quanitychosen == 'Y')
{
MySqlConnection mcon = new MySqlConnection("server=localhost;database=***;username=root;password=***");
mcon.Open();
string insert = "INSERT INTO accounts product, quantity VALUES" + product + " , " + quantity;
MySqlCommand cmd = new MySqlCommand(insert, mcon);
MessageBox.Show("Product was succesfully added");
}
else {
MessageBox.Show("Quantity and product not recognized");
}
、これらの値はのGridViewに示しされ、SELECT文のようなコンボボックスselectedIndexの値によって区切られます:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
clientchosen = 'Y';
client_id = comboBox1.SelectedIndex;
MySqlConnection mcon = new MySqlConnection("server=localhost;database=***;username=root;password=***");
mcon.Open();
char open = 'Y';
int selectedIndex = comboBox1.SelectedIndex;
Object selectedItem = comboBox1.SelectedItem;
string select2 = "SELECT * FROM account where client_id = " + selectedIndex + " and open = " + open;
MySqlCommand cmd2 = new MySqlCommand(select2, mcon);
object result = cmd.ExecuteNonQuery();
}
これまでのところ、私はメッセージボックスを表示しないようにしても、成功のインサートを作ることができていない、私はずっとこの問題についてあなたが持っている任意のコメントを感謝します。
挿入クエリが間違っています... INSERT INTO table_nameを使用してください。 VALUES(value1、value2、value3、...); – DDave
それをデバッグするとどうなりますか?エラーがありますか?値の周りに "("と ")"がないSQL文があることを意味します。 –
@ DDave挿入は問題ありません。すべての列にデータを挿入しない場合は、列名を指定する必要があります。かっこを追加すると読みやすくなります。 –