1
4

2 に答える 2

6

FROMは、Microsoft OLE DB プロバイダーの予約済みキーワードです。のような角かっこで使用したい場合があります[FROM]。ただし、ベスト プラクティスとして、予約語以外に変更してください。

しかし、もっと重要なこと

パラメータ化されたクエリを常に使用する必要があります。この種の文字列連結は、SQL インジェクション攻撃に対してオープンです。

また、 orメソッドを手動で呼び出す代わりに、usingステートメントを使用してOleDbConnectionand を自動的に破棄します。OleDbCommandCloseDispose

using(var connection = new OleDbConnection(conString))
using(var dbcmd = connection.CreateCommand())
{
    dbcmd.CommandText = "insert into ConveyanceBill1 (empname, from) values(?, ?)";
    dbcmd.Parameters.Add("?", OleDbType.VarWChar).Value = txtEmployee.Text;
    dbcmd.Parameters.Add("?", OleDbType.VarWChar).Value = txtFrom.Text;
   
    connection.Open();
    int effectedRows = dbcmd.ExecuteNonQuery();
    if(effectedRows > 0)
    {
       MessageBox.Show("Sucessfully Added!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }   
}
于 2016-03-12T09:53:24.203 に答える
1

「from」は Microsoft アクセスの予約語です。 「desfrom」などの予約語以外に変更すると、正常に動作するはずです。

于 2016-03-12T11:15:24.190 に答える