我用c#创建了web服务。在那个管理面板中,当管理员用转义序列字符编辑文件名时,会出现错误。我想在音频文件名中添加s。但是当我更新文件名时,它给出了一个错误。请告诉我代码。这是我目前的代码:例如:我想要文件名像:stafford's.mp3
protected void dbUpdate(int Id, string newfileName,string newfilePath,string newfileExt,string newfileType )
{
string filep;
if (newfileType == "Image")
{
filep = newfilePath + newfileType + "/" + newfileName.Replace(" ", string.Empty) + newfileExt;
}
else
{
filep = newfilePath + newfileType + "/" + newfileName.Replace(" ", string.Empty) + newfileExt;
}
String getSQL1 = "UPDATE tbluploadedfilesdetail set FileName='" + newfileName + "' FilePath= '" + filep + "' where ID=" + Id + ";";
MySqlConnection objMyCon1 = new MySqlConnection(connection);
objMyCon1.Open();
MySqlCommand cmd2 = new MySqlCommand(getSQL1, objMyCon1);
cmd2.ExecuteNonQuery();
objMyCon1.Close();
用双单引号代替单引号,问题就解决了。
... set FileName='" + newfileName.Replace("'", "''") + "' ...
你应该使用SqlParameters而不是直接在sql中替换值。