C# System.Data.SqlClient.SqlException:';靠近'的语法不正确;文本:'';

C# System.Data.SqlClient.SqlException:';靠近'的语法不正确;文本:'';,c#,sql-server,C#,Sql Server,我正在尝试将图像存储到SQL Server数据库中。我一直在cmd.ExecuteNonQuery()周围发现错误 您应该回答以下问题: string query = "INSERT INTO dbo.LOGO (Logo_Prompt,image) VALUES(@prompt_id, @image)"; SqlCommand cmd = new SqlCommand(query, cnn); cmd.Parameters.AddWithValue("@prompt_id", prompt_i

我正在尝试将图像存储到SQL Server数据库中。我一直在
cmd.ExecuteNonQuery()
周围发现错误

您应该回答以下问题:

string query = "INSERT INTO dbo.LOGO (Logo_Prompt,image) VALUES(@prompt_id, @image)";
SqlCommand cmd = new SqlCommand(query, cnn);
cmd.Parameters.AddWithValue("@prompt_id", prompt_id);
cmd.Parameters.AddWithValue("@image", image);
正如建议的那样,显式db类型的传递参数更好:

command.Parameters.Add("@prompt_id", SqlDbType.....).Value = prompt_id;
command.Parameters.Add("@image", SqlDbType.....).Value = image;
参数化-是的!!但是您应该签出并停止使用
.AddWithValue()
-这可能会导致意外的结果。。。
command.Parameters.Add("@prompt_id", SqlDbType.....).Value = prompt_id;
command.Parameters.Add("@image", SqlDbType.....).Value = image;