asp.net菜鸟 模糊查询问题?

BB203203 2007-06-02 06:17:43
本人刚学C#.好多不懂的地方还请大哥大姐们请教请教! 谢谢~~
下面是本人看教程做的模糊查询(点下去没反应汗死!!)好简单也会出错~~:
首先有个work.cs类有关内容:
public static DataTable selectpersontable()
{
SqlConnection con=work.connection();
con.Open();
SqlDataAdapter sdr=new SqlDataAdapter();
sdr.SelectCommand=new SqlCommand("select * from person",con);
DataSet ds=new DataSet();
sdr.Fill(ds,"person");
return ds.Tables["person"];
(已定义连接数据库, 表名为person)

(CheckBox1 的text值为"按编号查询" pid是一个"textbox控件" 记录的是表person中的"id"列 同时界面还有个DataGrid 控件显示表)
查询按扭代码:
private void Button1_Click(object sender, System.EventArgs e)
{
string c="";
if(this.CheckBox1.Checked)
{
c="id="+this.pid.Text;
}
else
{
c="id like '%'";
}
DataView dv=new DataView(work.selectpersontable());
dv.RowFilter=c;
this.DataGrid1.DataSource=dv;
this.DataGrid1.DataBind();
}
...全文
298 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
BB203203 2007-06-05
  • 打赏
  • 举报
回复
......
BB203203 2007-06-04
  • 打赏
  • 举报
回复
~~~~
BB203203 2007-06-02
  • 打赏
  • 举报
回复
多谢结了~~~
amandag 2007-06-02
  • 打赏
  • 举报
回复
%是SQL 模糊查询的语法,匹配0个或多个字符

Replace("'", "")把'替换掉
  • 打赏
  • 举报
回复
顶..
BB203203 2007-06-02
  • 打赏
  • 举报
回复
各位大哥大姐不好意思刚才有点事离开了一会儿真的很不好意思呀:
非常感谢! 已经可以了呵呵!
能告诉我为什么改成: c="id='"+this.pid.Text.Replace("'", "")+"'";
和c="id like '%"+this.pid.Text.Replace("'", "")+"%'";
里面 ---.Replace("'","")+"%'" 是什么含义呀?
有没有相关的资料可以学习不~~~

对了还有gjf2007()大哥那方法不行?
bingchener 2007-06-02
  • 打赏
  • 举报
回复
c="id like '%"+thi.pid.Text+"%'";
gjf2007 2007-06-02
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
string c="";
if(this.CheckBox1.Checked)
{
c="id="+this.pid.Text;
}
else
{
c="id like '%"+thi.pid.Text+"%'";
}
DataView dv=new DataView(work.selectpersontable());
dv.RowFilter=c;
this.DataGrid1.DataSource=dv;
this.DataGrid1.DataBind();
}

试一下
JavaProgramers 2007-06-02
  • 打赏
  • 举报
回复
1、你的id字段是什么类型,如果是int型,不需要改,如果是varchar等类型
c="id="+this.pid.Text;
---->
c="id='"+this.pid.Text.Replace("'", "")+"'";
2、模糊查询,即CheckBox1 不选中时
c="id like '%'";
---->
c="id like '%"+this.pid.Text.Replace("'", "")+"%'";
至于这里前后是否加%,看你自己想实现什么样的模糊查询效果而定吧
3、按以上修改后,如果仍不显示,在这里设个断点
this.DataGrid1.DataSource=dv;
-过客- 2007-06-02
  • 打赏
  • 举报
回复
1、你的id字段是什么类型,如果是int型,不需要改,如果是varchar等类型
c="id="+this.pid.Text;
---->
c="id='"+this.pid.Text.Replace("'", "")+"'";
2、模糊查询,即CheckBox1 不选中时
c="id like '%'";
---->
c="id like '%"+this.pid.Text.Replace("'", "")+"%'";
至于这里前后是否加%,看你自己想实现什么样的模糊查询效果而定吧
3、按以上修改后,如果仍不显示,在这里设个断点
this.DataGrid1.DataSource=dv;
看是否取得数据了
superman008 2007-06-02
  • 打赏
  • 举报
回复
说错了..
BB203203 2007-06-02
  • 打赏
  • 举报
回复
?? 是那出问题了吗???
大家给个意见什么的吧~~ 在线等!!
小第在些谢过了~~
superman008 2007-06-02
  • 打赏
  • 举报
回复
c="id like '%'";有问题貌似..

62,046

社区成员

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

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

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

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