我在尝试使用OLEDB Connection
从C#表单插入值时收到错误。
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:一个或多个 在处理命令期间发生错误。 ORA-00936:失踪 表达
答案 0 :(得分:2)
我相信你错过了VALUES
朋友之间的空格。在下面的示例中,我在字段列表中的)
之后添加了一个。
strSQL = "INSERT INTO test_table (username,password) " +
"VALUES (@user,@pass)";
答案 1 :(得分: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();
答案 2 :(得分:0)
试试这个:
strSQL =“INSERT INTO test_table(username,password)”+ “VALUES(?,?)”;
使用OleDb你需要把“?”而不是@param参数