ASP.NET 模糊查找区别?怎么替换不了参数

[复制链接]
查看11 | 回复4 | 2011-7-8 08:48:02 | 显示全部楼层 |阅读模式
第一种查询不到
stringsql=\"selectF_user_namefromt_userwheref_user_namelike\'%@name%\'orderbyf_user_name\";
SqlParameter[]spr=newSqlParameter[]
{
newSqlParameter(\"@name\",name)
};
第二种这个可以找到
stringsql=\"selectF_user_namefromt_userwheref_user_namelike\'%\"@name\"%\'orderbyf_user_name\";
这是为什么????
回复

使用道具 举报

千问 | 2011-7-8 08:48:02 | 显示全部楼层
这里的name含义你可能混淆了
stringsql=\"selectF_user_namefromt_userwheref_user_namelike@nameorderbyf_user_name\";
这里是sql@name这里是你自己写的自定义变量
你在使用的时候要给他传值newSqlParameter(\"@name\",“%”name“%”)这里的name就是你传入的值付给你自定义的变量@name
如果第二种你一开始就是用的给变量传值,你的变量定义为@name这两个地方不是一个含义
只要是接收值得变量在使用时应该用\"变量名\"接收如果你只是先用变量来完成这个语句后面在各他赋值就在sql中写成@变量名这个时候不能加引号
要区分一下两个地方变量的意义可以去网上查一下变量的意义和使用
回复

使用道具 举报

千问 | 2011-7-8 08:48:02 | 显示全部楼层
没有明白
回复

使用道具 举报

千问 | 2011-7-8 08:48:02 | 显示全部楼层
在sql语句中变量是不能拿来直接用的,要用引号引起来
回复

使用道具 举报

千问 | 2011-7-8 08:48:02 | 显示全部楼层
第一个应该是这样stringsql=\"selectF_user_namefromt_userwheref_user_namelike@nameorderbyf_user_name\"
SqlParameter[]spr=newSqlParameter[]
{
newSqlParameter(\"@name\",“%”name“%”)
};
我的意思问为什么要这写newSqlParameter(\"@name\",“%”name“%”)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行