请教高手:怎么执行查询语句

iColl 2007-03-17 01:04:20
使用的是vb6.0
实现的功能是:用户任意选择界面上的查询项(即要搜索的关键字选项),然后程序自动生产一条sql查询语句字符串变量strsql,执行了这条查询语句后再把得到的结果绑定到DataGrid上输出
我的单击搜索按钮的代码是这样的:(strsql变量是一条查询语句例如:select studentName from studentInfo where studentName='陈%')

Public Sub operateDatabase(strsql As String)
Dim st1 As String

st1 = """" + strsql + """"
Adodc1.RecordSource = st1
Set DataGrid1.DataSource = Adodc1

End Sub

但是运行时报出的错是:不存在存储过程'select studentName from studentInfo where studentName='陈%' '(当st1变量的值是这个字符串时)。Adodc1的CommandType属性设成任何一种都不行。反正Adodc1.RecordSource就不把st1当作一条查询语句。当我把st1换成程'select studentName from studentInfo where studentName='陈%'这种原句时就没问题。但是这样就没法动态的查询了啊!
这个问题困扰了我三天了,图书馆官于Ado 的书太少了,望大侠们给予指教,先谢过啦!!
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iColl 2007-03-17
  • 打赏
  • 举报
回复
谢谢!
改成Adodc1.RecordSource = (st1)仍然报出同样的错,RecordSource属性好像不能用变量。下午用Command对象的CommandText属性,一开始也报出一样的错误,说是存储过程。我想CommandText怎么就只能接受两个引号引起来的静态的字符串呢,难道sql里就没有解决变量的。越看越觉得CommandText应该能接受变量,就是不知道错在哪,回来看了你的帖子后试用括号后让我想起把 """" + strsql + """"的引号全去掉,直接用strsql这个字符串变量,就成功了!
非常感谢!
jinanjiang 2007-03-17
  • 打赏
  • 举报
回复
up
xiaoku 2007-03-17
  • 打赏
  • 举报
回复
把你的字符串用这个 括 起来

比如:

exec(st1)

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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