c# sql语句 提交内容带有单引号导致sql语句执行失败,如何处理?

如题所述

第1个回答  2015-02-02
方法1:字符串格式化
例如:
string.Format("select * from 表 where 列='{0}' ",值);

方法2:参数化SQL语句
例如:
SqlParamater para=new SqlParamater("@参数",值);
"select * from 表 where 列=@参数";本回答被网友采纳
第2个回答  2015-02-02
改用@参数,如果想偷懒的就把‘替换成`
第3个回答  2015-02-02
执行rollback

c# sql语句 提交内容带有单引号导致sql语句执行失败,如何处理?
方法1:字符串格式化 例如:string.Format("select * from 表 where 列='{0}' ",值);方法2:参数化SQL语句 例如:SqlParamater para=new SqlParamater("@参数",值);"select * from 表 where 列=@参数";

C#中编写SQL语句出现单引号怎么办
sql语句中可以用连续的两个单引号表示一个单引号字符,形同C#中的转义字符,比如select ''' 结果就是一个单引号',所以倘若你的参数 newSmallText[1] 中含有 can't 这样的字符串的话,就可以这样处理:newSmallText[1].replace("'","''");\/\/引号太不明显了···总之就是把字符串中的一个单...

sql语句添加的时候,是拼串,当遇到特殊符号,当成命令执行报错。
把insert into talbe value (' "+topic+" ')里的' "+topic+" '直接写成@topic 另外sql语句里的参数名字,和你c#里的ADD的参数名字一定要一样 其实你仔细点就应该发现了,为什么Parameters.Add方法需要你定义该参数类型而sql语句里有需要直接写上参数名字,本质上作用就相当于你在sql语句里自己写d...

c#向sql数据库插入数据,报错,(附近有语法错误
去掉values后面的等号,写带参数的sql语句时最好用sql= string.Format("insert into outtable(data,money,type,other) values({0},{1},"{2}","{3}")",参数值);另外列的数据类型是字符串型时,占位符外还要加上单引号的

SQL语句太长,在C#中执行失败,该怎么解决
sql如果单纯作为一个字符串理解,确实可以理论无限长,但是如果要作为sql语句进行执行的话,长度是有限制。这个长度可以理解为数据库语句执行的最大吞吐量。一般一次性执行的数据量如果太大(我在自己库里试过的最大单行条数是1000)数据库会直接崩溃的。所以对于这种情况。我的做法是:使用循环清空字符串...

c#数据库写入错误
1、重新拼接SQL语句,string sql =" insert into ... VALUES ( '"+lb.Text+"' , '"+lb2.Text+"' , '" +lb3.Text +"' );拼接时一定是 " ' " + 变量+" ' "这样出现的。 虽然int类型在sql语句中可以不用引号,但是从C#中拼接还是统一都带上单引号为好,是不会报错的。2...

如何向数据库插入带有单引号的字符串
因为插入的字符串被从单引号处截断,造成SQL语句的语法错误!解决方法:遍历字符串,把一个(')换成两个(' ')就可以了,在C#里,其实用str.Replace("'", "''");就可以了,这是因为SQL是用两个单引号来代替一个单引号的。

C# 此表达式有副作用,将不会对它进行计算?是哪出错了呢?
+ "',area='" + tbarea.Text.Trim() + "',email='" + tbemail.Text.Trim() + "' where 编号=‘" + label9.Text.ToString() + “’”;还不能更新的话,现在执行请把sql在程序里面打印出来,用vs的话,可以设置断点看看 在cmd.CommandText = sql 设置断点,查看生成sql的对应语句 ...

C#语句修改【更新】不了啊,每次运行都提示失败,求大神看看
1. 经过检查这个语句写错了: SqlCommand mycom = new SqlCommand(delStr, mycon);应该是SqlCommand mycom = new SqlCommand(mycon,delStr);应该调换一下顺序!因为程序在被编译的时候是要按照逻辑去编译的,如果要修改数据库数据肯定先要打开数据库然后再有SQL语句最后才可以进行修改。2.去掉 mycom....

sql c# 出现错误字符串向时间转换失败!!
单引号内的convert只会当做字符串来处理,而不是函数。做如下修改:string sql = string.Format("select * from certificateManage where certificateNo ='{0}'or personName = '{1}' or startCertificateDate ='{2}' or" + " levelName = '{3}' or healthlevelName = '{4}' or category...

相似回答