1

を使用してC#フォームから値を挿入しようとすると、エラーが発生しますOLEDB Connection

strSQL = "INSERT INTO test_table (username,password) " +
"VALUES (@user,@pass)";

objCmd = new OleDbCommand(strSQL, objConnection);
objCmd.Parameters.Add("@user", OleDbType.VarChar, 255).Value =TextBox1.Text.Trim();

objCmd.Parameters.Add("@pass", OleDbType.VarChar, 255).Value= TextBox2.Text.Trim();

// execute the command
objCmd.ExecuteNonQuery();

objConnection.Close();
Label1.Text = "Command run";    

エラーは

例外の詳細:System.Data.OleDb.OleDbException:コマンドの処理中に1つ以上のエラーが発生しました。ORA-00936:式がありません

4

3 に答える 3

2

VALUES友達同士のスペースが足りないと思います。)以下の例では、フィールドリストの後に1つ追加しました。

strSQL = "INSERT INTO test_table (username,password) " +
"VALUES (@user,@pass)";
于 2012-11-05T12:14:16.733 に答える
1

次のようなパラメータを設定してみてください:-

objConnection = new OleDbConnection(strConnection);
objConnection.ConnectionString = strConnection;

objConnection.Open();



// set the SQL string
strSQL = "INSERT INTO test_table (username,password) " +
"VALUES (@user,@pass)";
// Create the Command and set its properties
objCmd = new OleDbCommand(strSQL, objConnection);

objCmd.Parameters.AddWithValue("@user", TextBox1.Text);

objCmd.Parameters.AddWithValue("@pass", TextBox2.Text);

// execute the command
objCmd.ExecuteNonQuery();

objConnection.Close();
于 2012-11-05T12:15:26.923 に答える
0

これを試して :

strSQL = "INSERT INTO test_table(username、password)" + "VALUES(?、?)";

OleDbを使用するには、「?」を入力する必要があります パラメータの@paramではなく

于 2015-06-22T08:27:30.003 に答える