私は注文管理システムを作成しました。このコードを使用してデータに注文を挿入しました。mysqlからC#で手動でIDを増やす
xconn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "insert into tblOrder
(RegId,ItmId,quantity,Odrdate,Total) values ('" + label11.Text + "','" +
26 + "','" + txt26.Text + "','" + date + "','" + lbltotal.Text + "');";
cmd.Connection = xconn;
cmd.ExecuteNonQuery();
xconn.Close();
私のテーブル内の注文IDは自動インクリメントですが、1つの注文が完了した後にのみ増分します。
合計をクリックすると、次の注文が新しいIDになるようにodridが増分されます。
あなたのコードはSQLインジェクション攻撃の脆弱性があります。説明とパラメータ化されたクエリとプリペアドステートメントを使用して正しく行う方法の例については、http://bobby-tables.com/を参照してください。また、この単純な文字列の連結を行ってクエリを構築するときに、構文エラーが発生するのを避けるのにも役立ちます。 – ADyson
あなたの質問について - INSERTを行う場合、フィールドは自動的にインクリメントする必要があります。クエリを実行した直後にデータベースから最後に挿入されたIDをフェッチすると、必要に応じて最新のIDの値を知ることができます。しかし、「クリック総数」についてのあなたの言及についての文脈は十分ではありません。ここにボタンはありません。それはあなたのコードにどのように関係していますか? – ADyson
私は大学のプロジェクトに使用しています。締め切りは明日です。あなたがこのコードで私を助けることができたら、それはすばらしいでしょう:) –