音频文件名不采用转义序列字符

时间:2011-12-14 04:36:06

标签: c# asp.net-mvc-3

我已经在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();

1 个答案:

答案 0 :(得分:1)

如果用双引号替换单引号,它将解决您的问题。

... set FileName='" + newfileName.Replace("'", "''") + "' ...

您应该使用SqlParameters而不是直接将值替换为您的sql。所以查看SqlParameters。