急~!找帅哥帮忙模糊查询不能够查数据了

kuuga_8086 2009-03-27 09:46:06

public void ExecuteNonQuery(DataList bindControlID, string strsql, OleDbParameter[] paras)
{//获取ID查询
OleDbCommand cmd = new OleDbCommand(strsql,_conUserDataBase);
OleDbDataReader dtr;
try
{
_conUserDataBase.Open();
cmd.Parameters.AddRange(paras);
dtr = cmd.ExecuteReader();
bindControlID.DataSource = dtr;
bindControlID.DataBind();
dtr.Close();
_conUserDataBase.Close();
}
catch (Exception exp)
{
if (_conUserDataBase.State == ConnectionState.Open)
_conUserDataBase.Close();
throw exp;
}
finally
{
cmd.Dispose();
_conUserDataBase.Dispose();
}
}

这个是处理SQLHElper的文件
下面是所用的access的查询语句

string com = Request.QueryString["com"];
OleDbParameter[] paras = new OleDbParameter[]{
new OleDbParameter("@input",com.Trim())};
string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName like '*'&@input&'*';";
Userabc UsSel = new Userabc();
UsSel.ExecuteNonQuery(DataList1, Sql5, paras);

能通过页面取得com 的参数有参数传入了paras
但是DataList1却没有数据出
...全文
119 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰凝瞬间1986 2009-03-27
  • 打赏
  • 举报
回复
string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName like '%'+@input+'%'";
带参数的模糊查询必须要这样写才行
hecong875 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wanghao3616 的回复:]
引用 12 楼 pt1314917 的回复:
C# code
string com = Request.QueryString["com"];
OleDbParameter[] paras = new OleDbParameter[]{ new OleDbParameter("@input",com.Trim())};
//string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName like '%'&@input&'%';";
string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName lik…
[/Quote]
顶 ! 正解......
an3gsonnzhy 2009-03-27
  • 打赏
  • 举报
回复
自己调试!!!
冰凝瞬间1986 2009-03-27
  • 打赏
  • 举报
回复
string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName like '*'+&@input&+'*'";
带参数的模糊查询必须要这样写才行
wanghao3616 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 pt1314917 的回复:]
C# code
string com = Request.QueryString["com"];
OleDbParameter[] paras = new OleDbParameter[]{ new OleDbParameter("@input",com.Trim())};
//string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName like '%'&@input&'%';";
string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName like '%'+@input+'%';";
Userabc UsSel = new Userabc();
UsSel.ExecuteNonQuery(DataList1, Sql5, paras);
[/Quote]

sql中 字符串连接应该用'+'号吧
pt1314917 2009-03-27
  • 打赏
  • 举报
回复

string com = Request.QueryString["com"]; OleDbParameter[] paras = new OleDbParameter[]{ new OleDbParameter("@input",com.Trim())}; string Sql5 = "SELECT CompanyTbl.CompanyName, CompanyTbl.ComId FROM CompanyTbl WHERE CompanyName like '%'&@input&'%';"; Userabc UsSel = new Userabc(); UsSel.ExecuteNonQuery(DataList1, Sql5, paras);


kuuga_8086 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wanghao3616 的回复:]
'%aa%' 好 在 access 和 sql中都是可以用的 不信你用查询分析器 和 access的 查询 sql 模式下 看看
[/Quote]
不行~要不要截图你看 - -!
dl_wang 2009-03-27
  • 打赏
  • 举报
回复
设断点,第一看看查询语句能否查出数据。第二看看绑定是否有问题。
hecong875 2009-03-27
  • 打赏
  • 举报
回复
http://hi.baidu.com/546131278a/blog/item/fd87811050945c17b9127b29.html
wanghao3616 2009-03-27
  • 打赏
  • 举报
回复
'%aa%' 好 在 access 和 sql中都是可以用的 不信你用查询分析器 和 access的 查询 sql 模式下 看看
kuuga_8086 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wanghao3616 的回复:]
你把你的语句 加参数 在 access中的 查询模式下
执行下 看能成功吗??
[/Quote]
试过可以~
ukyo1211 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kuuga_8086 的回复:]
引用 1 楼 hecong875 的回复:
select * from table where Name '%条件%'

晕~我用的数据库是access...SQL才用%的
[/Quote]
不管你的数据库是ACCESS还是SQLSERVER 程序中都还是要'%条件%'的
wanghao3616 2009-03-27
  • 打赏
  • 举报
回复
你把你的语句 加参数 在 access中的 查询模式下
执行下 看能成功吗??
kuuga_8086 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ukyo1211 的回复:]
在Access中模糊查询是LIKE *@input* 在SQL语句中你还是要改成 %@input% 的,不然好像查不出来。我以前也遇到过这样的而问题
[/Quote]
我现在要用的是access!!
kuuga_8086 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hecong875 的回复:]
select * from table where Name '%条件%'
[/Quote]
晕~我用的数据库是access...SQL才用%的
ukyo1211 2009-03-27
  • 打赏
  • 举报
回复
在Access中模糊查询是LIKE *@input* 在SQL语句中你还是要改成 %@input% 的,不然好像查不出来。我以前也遇到过这样的而问题
hecong875 2009-03-27
  • 打赏
  • 举报
回复
select * from table where Name '%条件%'

62,268

社区成员

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

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

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

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