C# 中的参数化更新语句 - 在数据库中存储 RTF
Parameterized Update Statement in C# - Storing RTF in database
我想将一些 RTF 代码作为纯文本存储在我的 .dbf fox-pro 数据库中,但是我在 ExecuteNonQuery 中得到一个 "Syntax error",我找不到问题。
我的代码:
String query1 = "UPDATE tb_benu SET be_sign = @signatur WHERE be_name = @sys_benutzer";
using (OleDbConnection dbfcon = new OleDbConnection("Provider=VFPOLEDB;Data Source=" + dataFolder))
{
OleDbCommand cmd = new OleDbCommand(query1, dbfcon);
cmd.Parameters.AddWithValue("@signatur", signatur);
cmd.Parameters.AddWithValue("@sys_benutzer", sys_benutzer);
dbfcon.Open();
cmd.ExecuteNonQuery();
dbfcon.Close();
}
为什么会抛出语法错误? (即使我用普通文本而不是 rtf 测试它)
如果我使用像这样的简单 sql 查询:
string query1 = "UPDATE tb_benu SET be_sign='" + signatur + "' WHERE be_name='" + sys_benutzer + "';";
OleDbCommand cmd = new OleDbCommand(query1, conn);
cmd.ExecuteNonQuery();
它适用于我的 RichTextBox 的文本内容,但不适用于 RTF 代码。
OleDb 不支持 sql 命令文本中的命名参数,请改用位置语法
String query1 = "UPDATE tb_benu SET be_sign = ? WHERE be_name = ?";
https://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters(v=vs.110).aspx
我想将一些 RTF 代码作为纯文本存储在我的 .dbf fox-pro 数据库中,但是我在 ExecuteNonQuery 中得到一个 "Syntax error",我找不到问题。
我的代码:
String query1 = "UPDATE tb_benu SET be_sign = @signatur WHERE be_name = @sys_benutzer";
using (OleDbConnection dbfcon = new OleDbConnection("Provider=VFPOLEDB;Data Source=" + dataFolder))
{
OleDbCommand cmd = new OleDbCommand(query1, dbfcon);
cmd.Parameters.AddWithValue("@signatur", signatur);
cmd.Parameters.AddWithValue("@sys_benutzer", sys_benutzer);
dbfcon.Open();
cmd.ExecuteNonQuery();
dbfcon.Close();
}
为什么会抛出语法错误? (即使我用普通文本而不是 rtf 测试它)
如果我使用像这样的简单 sql 查询:
string query1 = "UPDATE tb_benu SET be_sign='" + signatur + "' WHERE be_name='" + sys_benutzer + "';";
OleDbCommand cmd = new OleDbCommand(query1, conn);
cmd.ExecuteNonQuery();
它适用于我的 RichTextBox 的文本内容,但不适用于 RTF 代码。
OleDb 不支持 sql 命令文本中的命名参数,请改用位置语法
String query1 = "UPDATE tb_benu SET be_sign = ? WHERE be_name = ?";
https://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters(v=vs.110).aspx