我需要在我的sql server数据库中插入一个base64字符串。它以等号“=”结束,如果没有得到"incorrect syntax near '='" error
,我似乎无法做到。此外,如果字符串以数字开头(例如,"1aBgrfe="
),那么我会收到错误“aBgrfe ='附近的语法不正确”。该列的数据类型为NVARCHAR(MAX)
。我的c#程序中的sql insert语句是
INSERT INTO MYTABLE VALUES ('" + myBase64String + '")
我知道我可能要编写一个存储过程,这是我以前从未做过的。 任何帮助表示赞赏。谢谢!
答案 0 :(得分:2)
使用参数化查询,而不是字符串连接
string cmdText = "INSERT INTO MYTABLE VALUES (@str)";
SqlCommand cmd = new SqlCommand(cmdText, connection);
connection.Open();
cmd.Parameters.AddWithValue("@str", myBase64String);
cmd.ExecuteNonQuery();
当然,如果该表中有其他列
,则需要指定列名string cmdText = "INSERT INTO MYTABLE (colForbase64string) VALUES (@str)";
答案 1 :(得分:0)
尝试在sql中使用Convert()方法。 http://msdn.microsoft.com/en-us/library/ms187928.aspx
"INSERT INTO MYTABLE (YourColumnName) VALUES(NVARCHAR(MAX), '" + myBase64String + "')";