| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2547 人关注过本帖
标题:在VB中如何执行动态SQL语句
只看楼主 加入收藏
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:7 
在VB中如何执行动态SQL语句
在SQL中,当表名为变量时,可以使用动态语句,比如:
declare @a nvarchar(55)
set @a= 'BA_BAZLFL'
exec('select * from ' +@a+ '')
这几个语句同时执行,可以达到和'select * from BA_BAZLFL’一样的效果。
如何通过VB来执行这段动态语句呢?
2016-11-23 15:52
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:0 
VB执行时,提交SQL命令给引擎,
你动态语句,你可以改写为 VB 支持的命令,最后生成最终的SQL命令提交吗?

你举的例子是 MSSQL 的存储过程吗? VB可以调用存储过程,与查询一样的调用。

授人于鱼,不如授人于渔
早已停用QQ了
2016-11-23 16:12
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 2楼 风吹过b
你好,感谢你的回答。我是一个菜鸟,第一次创建存储过程。我试着创建的过程如下:
CREATE PROCEDURE aa
AS
BEGIN
    declare @d nvarchar(55)
set @d = 'aa'
select * from ' + @d + '
END
go
请问是哪里错了?
2016-11-23 21:47
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:0 
如果问存储过程,需要转 SQL 论坛,VB6 的人,大多数不懂SQL的存储过程的语言,包括我。

授人于鱼,不如授人于渔
早已停用QQ了
2016-11-23 23:34
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
回复 3楼 xfwxian
根据你一楼的代码,要在存储过程中执行该sql语句,应该如下(前提是你数据库中必须存在名称为aa的表):
CREATE PROCEDURE aa
AS
BEGIN
    declare @d nvarchar(55)
set @d = 'aa'
exec('select * from ' + @d)
END
go
2016-11-24 09:00
ll00ll
Rank: 2
等 级:论坛游民
威 望:1
帖 子:9
专家分:25
注 册:2016-11-24
收藏
得分:10 
你是说动态组合 SQL语句吗?
程序代码:
    dim tableName as string
    dim strSql as string
    tableName = "username"
    strSql = "select * from " & tableName
    set rs = conn.Execute(strSql)
2016-11-24 16:54
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 6楼 ll00ll
谢谢你,我就需要这个效果,再次谢谢了
2016-11-24 21:30
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 6楼 ll00ll
如果通过VB修改SQL表的字段名,字段名同样是变量,代码如何写?
2016-11-26 21:51
快速回复:在VB中如何执行动态SQL语句
数据加载中...
 
   



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

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