为什么sql语句不能存入数据库?

qq_44416890 2019-08-14 04:31:13
就是我把试题导入数据库的时候 因为题目是一个sql语句 然后有单引号 程序就报异常了,这是为什么?可以帮我解答一下嘛 谢谢!
...全文
323 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
引用 15 楼 github_36000833的回复:
参数化查询要比 ”替换单引号“好。至少有两个原因 一是代码的可读性更好,更容易维护。 二是性能优势,特别是多次用不同参数调用同一个sql的情况。 对一个sql语句,服务器可以缓存查询计划并在重复查询执行时重用它们。参数化查询就可能到来这个好处。 而如果用字符串拼接的方式,服务器对每个查询要新作查询计划,有一定的性能影响。
谢谢 我这就去学习一下参数化查询 非常感谢
github_36000833 2019-08-14
  • 打赏
  • 举报
回复
参数化查询要比 ”替换单引号“好。至少有两个原因 一是代码的可读性更好,更容易维护。 二是性能优势,特别是多次用不同参数调用同一个sql的情况。 对一个sql语句,服务器可以缓存查询计划并在重复查询执行时重用它们。参数化查询就可能到来这个好处。 而如果用字符串拼接的方式,服务器对每个查询要新作查询计划,有一定的性能影响。
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
引用 13 楼 娃都会打酱油了的回复:
因为你没有通过sql参数化保存, 而是通过组织sql语句,产生了sql注入问题
好的 谢谢 我这就去查一下
  • 打赏
  • 举报
回复
因为你没有通过sql参数化保存, 而是通过组织sql语句,产生了sql注入问题
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
引用 9 楼 踏雪之_无痕的回复:
单引号在存入数据库前要进行转换,一般要转成双引号,''
嗯嗯 对 现在可以了 谢谢
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
我的sql 语句没有问题 已经解决但是变成双引号了 谢谢大家了
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
引用 1 楼 手在键盘敲很轻的回复:
不贴全部代码,怕我们抄?
string TiMuName = DanRow["TiMu"].ToString().Replace("'","\""); 我使用这个方法就可以了 但是题目中的单引号变成双引号了 谢谢
踏雪之_无痕 2019-08-14
  • 打赏
  • 举报
回复
单引号在存入数据库前要进行转换,一般要转成双引号,''
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
引用 4 楼 github_36000833的回复:
因为在SQL语句中‘单引号’有特殊的语义。 最好的解决方法就是”参数化“查询。你可以参考下帖38#楼的例子和对单引号的解释。 https://bbs.csdn.net/topics/393068375 (向数据库职员表插入数据时候检测职员编码、姓名有无重复,并给出重复提醒?)
好的 谢谢 我这就去试试
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神的回复:
他都说附近有语法错误了。。。。肯定sql语句有问题啊。 比如单引号
不是 是把一个题目 导入数据库是报的错 是因为题目是一个sql语句 谢谢能回复
qq_44416890 2019-08-14
  • 打赏
  • 举报
回复
引用 1 楼 手在键盘敲很轻的回复:
不贴全部代码,怕我们抄?
抱歉 没有这个意思 因为insert 语句没有错所以就没有贴 谢谢能回复
¿?¿? 2019-08-14
  • 打赏
  • 举报
回复
sql语句的问题吧 insert into 表名 values(数据)
github_36000833 2019-08-14
  • 打赏
  • 举报
回复
因为在SQL语句中‘单引号’有特殊的语义。 最好的解决方法就是”参数化“查询。你可以参考下帖38#楼的例子和对单引号的解释。 https://bbs.csdn.net/topics/393068375 (向数据库职员表插入数据时候检测职员编码、姓名有无重复,并给出重复提醒?)
wszhoho 2019-08-14
  • 打赏
  • 举报
回复
或许是中文括号,或许是全角单引号的问题。
不要纠结你这个语句,用参数化查询去插入记录试试。
正怒月神 2019-08-14
  • 打赏
  • 举报
回复
他都说附近有语法错误了。。。。肯定sql语句有问题啊。 比如单引号
  • 打赏
  • 举报
回复
不贴全部代码,怕我们抄?

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧