音频文件名不接受转义序列字符



我用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中替换值。

最新更新