模糊查询不能显示结果.太怪了.

zjls 2012-05-20 08:48:13
编成环境vs2010 采用的.net4.0框架

数据库用的sql2000

一个强类型的dataset 里面有个表.我添加了一个模糊查询.在查询生存器里面能正常得出结果.

sql语句如下: SELECT * FROM gongbian WHERE (台区名称 LIKE '%' + ? + '%')





但是在程序里,怎么样也查不出结果.

后台代码没有任何错误.是系统自动生成的代码了.


Private Sub FillBy4ToolStripButton_Click(sender As System.Object, e As System.EventArgs) Handles FillBy4ToolStripButton.Click
Try
Me.GongbianTableAdapter.FillBy4(Me.DataSet1.gongbian, 台区名称ToolStripTextBox.Text)
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try

End Sub


...全文
275 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
htpower 2012-06-06
  • 打赏
  • 举报
回复
不知道楼主那个?是怎么回事~他这么写~我们就跟着他写~完全认为这个?是代表他不想让我们知道他查询的内容是什么而已
ksir 2012-06-01
  • 打赏
  • 举报
回复
呵呵。

对于:SELECT * FROM gongbian WHERE (台区名称 LIKE '%' + ? + '%')

你是筛选“?”内容吗?

应该是:SELECT * FROM gongbian WHERE (台区名称 LIKE '%' + '?' + '%')
或: SELECT * FROM gongbian WHERE (台区名称 LIKE '%?%')

如果台区名称压根没有带“?”的内容 当然是空记录了。

另外,如果是系统中 “?”是关键字,不好认的,可以建议 用Replace函数替换'?'为全角的“?”,然后再搜索,不就行了吗?
ycproc 2012-05-30
  • 打赏
  • 举报
回复


sql语句和数据集的识别还是有区别的,你在使用数据集的时候按照数据集的方式来
其实数据集也可以自定义sql语句
ycproc 2012-05-30
  • 打赏
  • 举报
回复


你在使用 数据集的时候 一切以 前台的功能显示为主
很明显的 数据集的使用已经让你失去了对于ado的控制
去年公司做项目 蛋疼的数据集 让我一个操作写了 上百行代码 要求不能使用存储过程
qxyywy 2012-05-30
  • 打赏
  • 举报
回复
这个是like 的特殊字符
如:
符号 含义
LIKE '5[%]' 5%
LIKE '5%' 5 后跟 0 个或更多字符的字符串
LIKE '[_]n' _n
LIKE '_n' an, in, on (and so on)
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]

select strloginname, * from dbo.PersonalMember where strloginname like
' %[[]% '
htpower 2012-05-30
  • 打赏
  • 举报
回复
dim str as string
dim sql as string
dim dt as new datatable
sql="SELECT * FROM gongbian WHERE (台区名称 LIKE '%" & ? & "%')"
dim cmd as new sqldataadapter(sql, conn)
cmd.fill(dt)
zjls 2012-05-23
  • 打赏
  • 举报
回复
还是不行
llkaximoduo 2012-05-21
  • 打赏
  • 举报
回复
建议使用存储过程


declare @sqlStr varchar(1000)
set @sqlStr=' SELECT * FROM gongbian WHERE 台区名称 LIKE ( '%"+@p0+"%' ) '
exec (@sqlStr)
zjls 2012-05-21
  • 打赏
  • 举报
回复
郁闷阿.没人遇到过这样的问题吗
zjls 2012-05-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

改成这样试试
SELECT * FROM gongbian WHERE 台区名称 LIKE '%" + ? + "%'
[/Quote]

不行啊.参数都传不了.
EnForGrass 2012-05-20
  • 打赏
  • 举报
回复
改成这样试试
SELECT * FROM gongbian WHERE 台区名称 LIKE '%" + ? + "%'

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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