如何向数据库插入带有单引号(')的字符串--在做数据插入是一定要考虑,否则有单引号系统就会报错

如何向数据库插入带有单引号(')的字符串--在做数据插入是一定要考虑,否则有单引号系统就会报错,第1张

因为插入的字符串被从单引号处截断,造成SQL语句的语法错误! 解决方法:遍历字符串,把一个(')换成两个(' ')就可以了,在C#里,其实用strReplace("'", "''");就OK了,这是因为SQL是用两个单引号来代替一个单引号的,下面举个例子: private void btAdd_Click(object sender, EventArgs e){string chinese = thistxtChineseTextTrim();string english = thistxtEnglishTextTrim();if (chinese == ""){MessageBoxShow("请输入中文!");}else if (english == ""){MessageBoxShow("请输入英文!");}else{oleConnection1Open();string sql = "Select From info Where chinese='" + CheckString(chinese) + "' And english='" + CheckString(english) + "'";thisoleCommand1CommandText = sql;if (null == oleCommand1ExecuteScalar()){string sql1 = "Insert Into info(chinese,english) Values('" + CheckString(chinese) + "','" + CheckString(english) + "')";oleCommand1CommandText = sql1;oleCommand1ExecuteNonQuery();MessageBoxShow("信息添加成功!", "提示");thistxtChineseText = "";thistxtEnglishText = "";}else{MessageBoxShow("信息添加失败,中文和英文已经存在了!", "警告");

access使用单引号来识别一段字符串,如果你保存字符串里包含单引号,就会造成错误

如'abd'ssss'abc',中间的ssss就会识别错误,导致正串出错

所以保存前,要对单引号进行转义,方法就是 在单引号前使用\

是这样的。双引号里的是解析的,也就是说整个$sql里的变量先被解析了,此时的单引号起的作用是告诉php

sql解析器,这是一个值,如果你不加单引号的话,会执行不成功,因为php

解析器找不到sql语句里面的值。

set quoted_identifier off

go

在程序关加上这段代码,双引号就会被SQL识别。

引用帮助:“

使 Microsoft® SQL Server™ 遵从关于引号分隔标识符和文字字符串的 SQL-92 规则。由双引号分隔的标识符可以是 Transact-SQL 保留关键字,或者可以包含 Transact-SQL 标识符语法规则通常不允许的字符。

语法

SET QUOTED_IDENTIFIER { ON | OFF }

注释

当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。有关更多信息,请参见使用标识符。文字可以由单引号或双引号分隔。

在SQL语言中,如果插入数据带有单引号,必须要2个单引号。。而在Delphi中,2个单引号转换成SQL语言就是1个单引号,所以这里需要4个。。

刚忙公司的事情了。。。

这个刚刚我想多了,你可以直接写 QuotedStr(RichEdit1Text)

以上就是关于如何向数据库插入带有单引号(')的字符串--在做数据插入是一定要考虑,否则有单引号系统就会报错全部的内容,包括:如何向数据库插入带有单引号(')的字符串--在做数据插入是一定要考虑,否则有单引号系统就会报错、为什么用SQL命令将含有单引号的文本保存到ACCESS数据库的备注字段里不成功、sql 语句 如何将单引号双引号同时存入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10187330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存