このMcのアクセス列のデータ型(テキスト、数値 - 倍数、テキスト、数値 - パーセント) のように値を追加しますが、この値を挿入します(john、 ""私は名前だけのリストに私は 『System.NullReferenceException』種類の最初のチャンス例外がMさんのアクセスでnull値を挿入する方法#
biodata.exeで発生しました追加情報
助けを持っているので」、 『』)この1つの値の値が このエラー を挿入していません: オブジェクト参照がオブジェクト インスタンスに設定されていません。
private void button1_Click(object sender, EventArgs e)
{
con.Open();
cmd.CommandText = "insert into hhh (name,answerinfloat,subject,avg)VALUES('" + a.Text + "','" + b.Text + "','" + c.Text + "','" + d.Text + "')";
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("name", a.Text);
cmd.Parameters.AddWithValue("answerinfloat", b.Text);
cmd.Parameters.AddWithValue("subject", c.Text);
cmd.Parameters.AddWithValue("avg", d.Text);
int n = cmd.ExecuteNonQuery();
if (n > 0)
{
MessageBox.Show("Record Submitted", "Congrats");
}
else
MessageBox.Show("insertion failed");
con.Close();
}
クエリテキストの列名を省略すると、テーブルにあるすべての列の値を指定する必要があります。単に列の名前を追加して、Sql Injectionハックが何であるかを見てみましょう。あなたのコードはハッキングされる準備ができています。 – Steve
[クエリのパラメータ化](https://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters(v = vs.110).aspx)を参照することを強くお勧めします。 。 –
**警告:**あなたのコードはSQLインジェクション攻撃に対して脆弱です。文字列の連結を使用しないでください。パラメータを使用します。 –