在c#中,我计划用textbox来写一个多条件查询,各条件间用空格键隔开。。。。。

代码如下:string[]tep=this.textbox.Text.Split('');stringmysql="";for(inti=0;i<tep.Length;i... 代码如下:string[] tep=this.textbox.Text.Split('');
string mysql ="";
for (int i=0;i<tep.Length;i++)
{if (i !=tep.Length-1)
{mysql +="Action like '%" + tep[i] + "%' or ";}
else
{mysql +="Action like '%" + tep[i] + "%'";}}
myCommand.CommandText="SELECT*FROM tb WHERE "+ mysql +"";
但每次输入条件后都只能查询最后一个条件,比如输入80 12,就只能查询包含12的选项。。。。。。
求各位大侠帮助!!!
展开
 我来答
宇宙之心眼
2013-09-04 · TA获得超过623个赞
知道小有建树答主
回答量:610
采纳率:100%
帮助的人:416万
展开全部
  1. 首先你需要断点一下,看看你最终形成的SQL语句是否正常(从代码上看没啥问题),然后再把这个SQL语句复制出来放到数据库中去查询一下结果。

  2. 你这里面存在有一个问题,拼接SQL语句的时候,尤其是字符类型的,一定要注意将单个单引号替换为双单引号,这样能有效地避免SQL注入。如tep[i].Replace("'","''")

  3. 你的代码中的那个判断其实根本就不需要,可以这么写的:

myCommand.CommandText="SELECT*FROM tb WHERE "+ mysql.TrimEnd(',') +"";

我的但是832
2013-09-04 · 超过18用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:16.2万
展开全部
你就不能用其他的标识么??为什么要用空格呢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式