我已经在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();
答案 0 :(得分:1)
如果用双引号替换单引号,它将解决您的问题。
... set FileName='" + newfileName.Replace("'", "''") + "' ...
您应该使用SqlParameters而不是直接将值替换为您的sql。所以查看SqlParameters。