asp.net中AccessDataSource.SelectCommand方法获取不了字符串?

wonkju 2015-01-31 07:37:23
我如果是这样的话就可以:
string id = Request.Cookies["id"].Value;
//access 数据源控件的SelectCommand的后台绑定.
AccessDataSrc.SelectCommand = "select * from [t_man] where [id]=@id";
AccessDataSrc.SelectParameters.Clear(); //清除可能已有选择参数.
AccessDataSrc.SelectParameters.Add("id", TypeCode.Int32, id);
AccessDataSrc.DataBind();

这是数字类型的,没有问题.
但是对于字符串类型怎么不行:
string name = txtName.Text.Trim();
AccessDataSrc.SelectCommand = "select * from [t_man] where [name] like '%@name%'";
AccessDataSrc.SelectParameters.Clear(); //清除可能已有选择参数.
AccessDataSrc.SelectParameters.Add("@name", TypeCode.String, name);
AccessDataSrc.DataBind();


而当我不使用添加参数的方法,又行:
string name = txtName.Text.Trim();
AccessDataSrc.SelectCommand = "select * from [t_man] where [name] like '%" +name + "%'";
AccessDataSrc.SelectParameters.Clear(); //清除可能已有选择参数.
AccessDataSrc.SelectParameters.Add("@name", TypeCode.String, name);
AccessDataSrc.DataBind();


难道我的sql语句不对?
asp.net没有提示什么.
但是添加方式的方法,又不能查看整个sql语句的结果,怎么办?
...全文
140 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wonkju 2015-02-02
  • 打赏
  • 举报
回复
引用 1 楼 wind_cloud2011 的回复:
不用加单引号,select * from [t_man] where [name] like @name
其实我试过几个了, 语法错误 在查询表达式 '[name] like %@name%' 中 当时用
AccessDataSrc.SelectCommand = "select * from [t_man] where [name] like %@name%";
的时候就报错.
wind_cloud2011 2015-01-31
  • 打赏
  • 举报
回复
不用加单引号,select * from [t_man] where [name] like @name

110,535

社区成员

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

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

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