加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何将报价添加到动态SQL命令?

发布时间:2021-03-09 14:25:52 所属栏目:MsSql教程 来源:网络整理
导读:我在一个涉及一个或多个句子的长串的数据库中存储和编辑一些字段.每当我在文本框中输入单引号并想要保存它时,它会引发异常,例如 “’l’附近的语法不正确. 字符串”后面的未闭合引号. 有什么想法可以避免吗? 编辑: 查询是: SqlCommand com = new SqlCom

我在一个涉及一个或多个句子的长串的数据库中存储和编辑一些字段.每当我在文本框中输入单引号并想要保存它时,它会引发异常,例如
“’l’附近的语法不正确.
字符串”后面的未闭合引号.
有什么想法可以避免吗?

编辑:
查询是:

SqlCommand com = new SqlCommand("UPDATE Questions SET Question = '[" + 
    tbQuestion.Text + "]',Answer = '[" + 
    tbAnswer.Text + "]',LastEdit = '" + 
    CurrentUser.Login + 
    "'WHERE ID = '" + CurrentQuestion.ID + "'");

解决方法

正如KM所说,不要这样做!

改为:

private static void UpdateQuestionByID(
    int questionID,string question,string answer,string lastEdited)
{
    using (var conn = new SqlConnection(connectionString))
    {
        conn.Open();
        const string QUERY =
            @"UPDATE Questions " +
            @"SET Question = @Question,Answer = @Answer,LastEdit = @LastEdited " +
            @"WHERE ID = @QuestionID";
        using (var cmd = new SqlCommand(QUERY,conn))
        {
            cmd.Parameters.AddWithValue("@Question",question);
            cmd.Parameters.AddWithValue("@Answer",answer);
            cmd.Parameters.AddWithValue("@LastEdited",lastEdited);
            cmd.Parameters.AddWithValue("@QuestionID",questionID);
            cmd.ExecuteNonQuery();
        }
    }
}

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读