| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1663 人关注过本帖
标题:新问题,关于VB中使用通配符传参给存储过程
只看楼主 加入收藏
zhuluoliye
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2013-7-23
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:13 
新问题,关于VB中使用通配符传参给存储过程
刚接触到VB操作SQL存储过程,已经写好了存储过程,测试了没有错误。但是VB代码部分还是不太熟悉,在使用存储过程查询时出现错误,一时找不到错误出处,还请前辈给指点一二,不甚感激。
程序已经打包,麻烦给看一下,谢谢了
DEMO2.rar (1.29 MB)
搜索更多相关主题的帖子: 通配符 
2013-08-18 18:56
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:0 
没用过存储过程,无法测试(你的mdf我无法导入到我的sql中,弄的总是显示无数据库),就你目前代码来看,似乎是没有定义全程变量(区别全局变量,全程是指某一个类或窗体所有过程、函数可使用的变量)。你在所有代码前加如下语句试下:
Dim qcname As String, qcsex As String, qcrela As String, qcposs As String
2013-08-19 11:33
zhuluoliye
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2013-7-23
收藏
得分:0 
回复 2楼 lowxiong
不是全程变量的问题,我已经在form load中写了那几个全程变量,还是要感谢您的解答,谢谢

学习是个过程,贵在坚持
2013-08-20 08:48
zhuluoliye
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2013-7-23
收藏
得分:0 
原先的程序有点问题,我修正了一下,但是之前的问题还是没有解决,希望有高人能帮我解决一下,谢谢了!
DEMO3.rar (1.29 MB)

学习是个过程,贵在坚持
2013-08-20 08:58
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:2 
图片附件: 游客没有浏览图片的权限,请 登录注册

query_friends
储存过程和问题图片,没sql

无知
2013-08-20 13:16
zhuluoliye
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2013-7-23
收藏
得分:0 
回复 5楼 Artless
上面的附件DEMO3已经修改过来了,问题还是依旧

学习是个过程,贵在坚持
2013-08-21 17:17
zhuluoliye
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2013-7-23
收藏
得分:0 
我说明一下这个存储过程的作用

启动form1后DataGrid1从数据表friends中加载全部数据
通过combo1、2、3、4选择需要查询的字段,可以全选,也可以全不选,全不选说明查询所有记录,我所想的是使用通配符%查询所有记录

在选定了查询字段后VB执行SQL中的存储过程query_friends,在DataGrid1显示查询的结果

现在的问题就是点击查询后无法显示结果,存储过程query_friends是没有问题的

请高人解答一下,谢谢了!

学习是个过程,贵在坚持
2013-08-21 19:04
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:0 
算了,看来,你确实没搞清楚什么是变量定义,你把中断位置处代码用下列代码代替试下看看,要不你把你的存储过程发过来,我在本机调试下就知道。
'这几个代码代替对应的代码应该知道吧,试下
cmd.Parameters("@qcname") = "'" & Trim(Combo1.Text) & "'"
cmd.Parameters("@qcsex") = "'" & Trim(Combo2.Text) & "'"      '构造
cmd.Parameters("@qcrela") = "'" & Trim(Combo3.Text) & "'"
cmd.Parameters("@qcposs") = "'" & Trim(Combo4.Text) & "'"
2013-08-21 23:20
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:0 
form_load只是窗体的一个事件,在它里面定义的变量只在form_load里有效,一碰到end sub指令后,这些变量定义都无效了。
2013-08-21 23:22
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:0 
看到你的存储过程了,按我在8楼说的修改方法修改后,程序测试运行正常,无任何提示,DataGrid1表头都由中文变成了英文,说明存储过程正常调用了。

[ 本帖最后由 lowxiong 于 2013-8-21 23:58 编辑 ]
2013-08-21 23:47
快速回复:新问题,关于VB中使用通配符传参给存储过程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078886 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved