如何在查询中将单引号添加为字符串?

E J*_*nga 0 c# sql sql-server

我正在尝试使用文本框获取文件目标路径并将其传递到数据库中.(在Visual Studio中开发)当查询运行时,下面显示错误....

在此输入图像描述

该方法updateClarkuser类如下所示

public void updateClark(string _cid, string _path)
{
    SqlCommand cmd = new SqlCommand(@"UPDATE tbl_Path SET folder_path='" + _path + "' WHERE clark_id='" + _cid + "'", ConnectionDB.connection());
    cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)

我在代码中遗漏了什么?

SO *_*ood 5

既然您已编辑了问题以包含实际相关代码,那么您应该执行以下操作:

public void updateClark(string _cid, string _path)
{
    string command = "UPDATE tbl_Path SET folder_path=@folderPath WHERE clark_id=@clarkId";

    using (SqlCommand cmd = new SqlCommand(command, ConnectionDB.connection()))
    {
       cmd.Parameters.AddWithValue("folderPath", _path);
       cmd.Parameters.AddWithValue("clarkId", _cid);
       cmd.ExecuteNonQuery();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @EJChathuranga不,此代码通过使用参数来阻止SQL注入 (2认同)