我.xsd文件中配置了一个查询语句,我现在想把它改成模糊查询,请问该怎么改??我的查询语句是这样的
SELECT SId, Sname, identitynum, class, sex, birth, nation, politistate, foreigner, recruit
FROM stu
WHERE (Sname LIKE '%' + @sname + '%')
我在预览数据时能正确查询出结果。可是我在应用程序中调试时不知道为什么却查不出结果,不知道为什么,有知道的能说下吗?模糊查询应该很常用吧,大家都怎么用的啊?
PS:不要用Sqlcommand方式的模糊查询,我现在想学学在.xsd文件中直接写函数,对数据库的操作往里传参数就行了。

解决方案 »

  1.   

    可能是ms的一个bug
    不过你可以这样子操作
    SELECT SId, Sname, identitynum, class, sex, birth, nation, politistate, foreigner, recruit
    FROM stu
    WHERE (Sname LIKE @sname)
    --------------------------------------
    在form里面可以定义一个字符,字符里面包括通配符%
    string sname = "%丽裔%";
    this.xt_zhbTableAdapter.Fill(this.dataSet1.xt_zhb, sname);
      

  2.   

    你说的方法我试过了,不行啊,也查不出来!!
    strign strtp="%"+txtsname.text.trim()+"%"
    this.xt_zhbTableAdapter.Fill(this.dataSet1.xt_zhb, strtp);
    这样不行啊~~
    谁知道的能否说下,模糊查询应该很常用的啊!!
      

  3.   

    设个断点
    取你的SQL命令
    如果有参数,MessageBox.show(参数);
    看一下SQL命令和它的参数是否都正确,记住用Like,不用=
      

  4.   

    SELECT SId, Sname, identitynum, class, sex, birth, nation, politistate, foreigner, recruit
    FROM stu
    WHERE (Sname LIKE '%' "+ @sname + " '%')
    楼主这样试试看
      

  5.   

    "SELECT SId, Sname, identitynum, class, sex, birth, nation, politistate, foreigner, recruit
    FROM stu
    WHERE (Sname LIKE '%"+ @sname + " %')"这样看看 ,最好是用SQL里面的事件探查器,跟踪一下这句语句,看到底是什么,就很明了问题出在哪里
      

  6.   

    like后面要跟字符串,格式不对
      

  7.   

    like后面要跟字符串,格式不对
    那正确的格式应该怎么样啊?我试过了
    string sname = "%丽裔%";
    this.xt_zhbTableAdapter.Fill(this.dataSet1.xt_zhb, sname);
    或者
    SELECT SId, Sname, identitynum, class, sex, birth, nation, politistate, foreigner, recruit
    FROM stu
    WHERE (Sname LIKE '%' + @sname + '%')
    这样都能在查询分析器里查出来,但是在我的程序里就是查不出来,不知道为什么,郁闷。
    谁知道的话给个正确的写法!!!
    还有怎么  跟踪程序,看语句啊??这个不太会啊
    问题还是没解决,大家帮帮忙了~~
      

  8.   

    既然你 是在xsd中,在 .net打开这个文件,如果是vs2005的化,拖TableAdapter,改一下条件,看看能预览到数据不
      

  9.   

    WHERE (Sname LIKE '"% "+ @sname + " %"')