就是我把试题导入数据库的时候  因为题目是一个sql语句 然后有单引号 程序就报异常了,这是为什么?可以帮我解答一下嘛  谢谢!

解决方案 »

  1.   

    他都说附近有语法错误了。肯定sql语句有问题啊。
    比如单引号
      

  2.   

    因为在SQL语句中‘单引号’有特殊的语义。最好的解决方法就是”参数化“查询。你可以参考下帖38#楼的例子和对单引号的解释。
    https://bbs.csdn.net/topics/393068375 (向数据库职员表插入数据时候检测职员编码、姓名有无重复,并给出重复提醒?)
      

  3.   

    sql语句的问题吧 
    insert into 表名
    values(数据)
      

  4.   

    抱歉 没有这个意思  因为insert 语句没有错所以就没有贴  谢谢能回复
      

  5.   

    不是  是把一个题目 导入数据库是报的错  是因为题目是一个sql语句  谢谢能回复
      

  6.   

     string TiMuName = DanRow["TiMu"].ToString().Replace("'","\"");   我使用这个方法就可以了 但是题目中的单引号变成双引号了 谢谢
      

  7.   

    我的sql 语句没有问题  已经解决但是变成双引号了  谢谢大家了 
      

  8.   

    因为你没有通过sql参数化保存, 而是通过组织sql语句,产生了sql注入问题
      

  9.   

    参数化查询要比 ”替换单引号“好。至少有两个原因一是代码的可读性更好,更容易维护。
    二是性能优势,特别是多次用不同参数调用同一个sql的情况。对一个sql语句,服务器可以缓存查询计划并在重复查询执行时重用它们。参数化查询就可能到来这个好处。
    而如果用字符串拼接的方式,服务器对每个查询要新作查询计划,有一定的性能影响。