我正在调用azure中的Web服务并使用以下方法填充数据库。我不知道什么是错..插入声明奇怪的错误
using (SqlConnection conn = new SqlConnection(cs))
{
using (SqlCommand command = conn.CreateCommand())
{
conn.Open();
string cmdText = String.Format("INSERT INTO UserFiles VALUES('" + obj.userRef.ToString() + "','name','name','name','name','name','name'");
command.CommandText = cmdText;
command.ExecuteNonQuery();
conn.Close();
}
}
这是错误消息:
System.Data.SqlClient.SqlException(0x80131904):不正确的语法 附近的 '名称'。
在 System.Data.SqlClient.SqlConnection.OnError(SqlException异常, 布尔breakConnection,动作
1 wrapCloseInAction)
1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔callerHasConnectionLock,布尔asyncClose)
在System.Data.SqlClient.TdsParser.TryRun(runBehavior runBehavior, 的SqlCommand cmdHandler,SqlDataReader的数据流, BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,布尔& dataReady)
在System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(字符串 方法名,布尔异步,的Int32超时)
在System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 完成,字符串方法名,布尔sendToPipe,超时的Int32 , 布尔asyncWrite)
在System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在_4900ProjectDesktopInterface.Form1.uploadbutton_Click(对象发件人,EventArgs e)如 C:\用户\肯\文件\ GitHub的\ MegaFileUploadConversionService \ TestingTool \ 4900ProjectDesktopInterface \ Form1.cs:line 152 \ r \ nClientConnectionId:fb95122f-415b-484d-9438-903f0bf2aad 0"
把问题的表格定义和cmdText的内容。 – 2013-03-23 11:15:24
'obj.userRef.ToString()'的值是什么?如果它包含一个单引号或其他一些非转义符号,那么它可能会破坏您的查询 – 2013-03-23 11:15:45
至少在关闭时)值是从sql语句中丢失的。 – Goran 2013-03-23 11:16:16