.net 关于单引号查询输出的问题!

jyx943 2008-10-30 11:11:38
如题!
比如说:我向数据库插入了Gul'dan插入成功!担是在查询的时候就会报错!然后我打它转译成Gul''dan后就可以查出来了!但是查出的结果是Gul''dan这样的!我想要的是查询结果和输入时是一样的Gul'dan怎么解决??谢谢!
...全文
228 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxj85 2008-10-30
  • 打赏
  • 举报
回复
2楼的方法吧,要不试用转义字符看看。\'
Hertz_liu 2008-10-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 7707 的回复:]
请使用参数化查询,可以避免很多问题
[/Quote]
是的
jyx943 2008-10-30
  • 打赏
  • 举报
回复
我试了这几种方法还是不行呀!还有我这个写的不是存储过程!
在帮我想想还有什么方法谢谢!
wjxluck 2008-10-30
  • 打赏
  • 举报
回复
sql语句写成参数的形式 可以避免
zpcoder 2008-10-30
  • 打赏
  • 举报
回复

用 两个 ' 可以转义成一个 '



I''m = I'm
wfyfngu 2008-10-30
  • 打赏
  • 举报
回复
两种方法:
1) 把一个单引号替换成两个单引号(好像只有SqlServer会自动转义成一个单引号,其它数据库会真的生产两个单引号)
2) 使用参数化SQL,代码看3楼

打死也不用2楼的方法。
浮生若梦丶 2008-10-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 only_mandy 的回复:]
在sql中将 QUOTED_IDENTIFIER 设置为OFF,便可以查询带单引号的值

例:

SET QUOTED_IDENTIFIER OFF

select * from pubs where name=" You're Write! "


该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=16196
[/Quote]
up
only_mandy 2008-10-30
  • 打赏
  • 举报
回复
单引号也可以这样处理:

select 'I''m chinese' from 表名

结果是:I'm chinese.

流金年代 2008-10-30
  • 打赏
  • 举报
回复
补充下 我刚说的方法 是编程那么写的 如果单纯SQL 2楼的绝对可以~~!~~
only_mandy 2008-10-30
  • 打赏
  • 举报
回复
单引号' 可以用chr(39)表示 试试呢!~
流金年代 2008-10-30
  • 打赏
  • 举报
回复
网站开发的时候 对于单引号 基本都是采取屏蔽态度的

////屏蔽单引号
public string NoHack(string str)
{
return str.Replace("'", "");
}
7707 2008-10-30
  • 打赏
  • 举报
回复
比如


using (SqlConnection conn = new SqlConnection("....."))
{
SqlCommand cmd = new SqlCommand("SELECT * FROM [Table] WHERE [Col] Like @Col", conn);
cmd.Parameters.Add("@Col", SqlDbType.VarChar).Value = "....";
conn.Open();
//....
}
only_mandy 2008-10-30
  • 打赏
  • 举报
回复
在sql中将 QUOTED_IDENTIFIER 设置为OFF,便可以查询带单引号的值

例:

SET QUOTED_IDENTIFIER OFF

select * from pubs where name=" You're Write! "


该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=16196
7707 2008-10-30
  • 打赏
  • 举报
回复
请使用参数化查询,可以避免很多问题
7707 2008-10-30
  • 打赏
  • 举报
回复
我在3楼给你写了示例了呀,这不是存储过程,是参数化查询.这么做就不存在单引号问题了

[Quote=引用 12 楼 jyx943 的回复:]
我试了这几种方法还是不行呀!还有我这个写的不是存储过程!
在帮我想想还有什么方法谢谢!
[/Quote]
  • 打赏
  • 举报
回复
字符串前加个@

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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