| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4567 人关注过本帖
标题:VB 如何修改SQL表中的字段名
只看楼主 加入收藏
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:9 
VB 如何修改SQL表中的字段名
VB修改SQL中的表的字段名,只要执行相关SQL语句就可以实现,可是SQL的表名和字段名是变量怎么办?比如:sp_rename '表名.旧字段名','新字段名'就可修改字段名。可是如果表名、旧字段名、新字段名全部为变量,怎么办?
搜索更多相关主题的帖子: 如何 
2016-11-27 09:08
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
同样,组合生成 SQL 命令,然后执行就是了。
VB6 有执行SQL命令的方法,你只要按字符串连接的方法把SQL命令生成好就可以了。
如:
 sql="ALTER TABLE " & 表名 & " RENAME COLUMN " & 原字段名 & " TO " & 新字段名 & ";"
然后
  conn.Execute(Sql)       '因为这个查询没有返回结果,所以直接调用,不需要用 set 命令执行
-------------
set rs = conn.Execute(Sql)         '如果sql命令是一个查询命令,执行后得到了一个表,使用这种方法
call  conn.Execute(Sql)            '如果sql命令不是一个查询命令,执行后无法得到一个表,使用这种方法



授人于鱼,不如授人于渔
早已停用QQ了
2016-11-27 10:24
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
昨天晚上你不是问这个问题吗?我在手机上,没法回 代码 说明。
今天回完了才发现你重开了贴子。

授人于鱼,不如授人于渔
早已停用QQ了
2016-11-27 10:25
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 2楼 风吹过b
你好,谢谢你的热心帮助。你的代码提示:RENAME附近有语法错误,我的语句是strSql = "ALTER TABLE " & AA & " RENAME COLUMN " & bb & " TO " & cc & ";"
其中:AA为表名的变量名,BB为表内原字段名的变量,CC为修改的表字段变量。
另外,麻烦你把修改表名的语句也给我, 同样表名均为变量

[此贴子已经被作者于2016-11-27 22:58编辑过]

2016-11-27 22:54
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
这是很奇怪的要求哦!
一般来说“数据结构”+“代码”构成一个完整的系统,这两个相对固定,变化的是数据。数据库结构是数据结构的一部分,代码逻辑都是围绕数据库展开的,如果数据库的结构老变来变去?这个系统怎么稳定可靠?很显然,有共性的数据结构还是应该提取,不能够变来变去。确有个性的某些字段智能算是备注信息了,顶多查询里有用。

在sql server中修改表名的sql语句为sp_rename 原表名,新表名
在access中则无法直接修改表名,一般用复制删除的方式
2016-11-28 09:47
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 5楼 xzlxzlxzl
你好,其实我是在制作一个VB小软件,该软件可以将SQL中的英文(或拼音缩写)表名和字段名通过数据字典修改成中文表名和字段名,数据字典的格式为EXCEL,我已经做好了一部分的工作,就是将数据字典的内容存储成了VB的变量,现在要做的就是如何执行SQL语句将这些变量修改成SQL表的表名和字段名,所以不断在提这方面的问题。现在修改表名的功能已经实现,通过SELECT INTO语句。就剩下修改字段名了。

[此贴子已经被作者于2016-11-28 20:32编辑过]

2016-11-28 20:30
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 2楼 风吹过b
是什么原因?你看了吗?请你给我看看,行吗?
2016-11-29 09:05
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:10 
题主多变哦!
同样access是无法直接修改字段名的,仍然要变通,但会丢失数据,用adox可以完成。
如果是表名、字段名都是变量的话,在vb里你必须先确保数据库连接成功,假设数据库连接对象为cn,使用变量的代码如下:

a="表名"
b="原字段名"
c="新字段名"
cn.excute "sp_rename " & a & "." & b & "," & c & ",COLUMN"
2016-11-29 10:31
xfwxian
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2016-11-16
收藏
得分:0 
回复 8楼 xzlxzlxzl
感谢你的提示,可是语句报错。我根据SQL语句结合VB字符的使用,做如下更改,成功了:cn.exEcute("sp_rename  " & "'" & x(Y) & "." & xx(1) & "'," & "'" & xx(2) & "','COLUMN'"),主要是表名、字段名、字段标识都需要加单引号。我还是把分送给你。
2016-11-30 08:25
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
我也注意到单引号了,不过我都是在sql查询器里弄的,不要单引号也可执行,没实际用vb执行。
2016-11-30 10:31
快速回复:VB 如何修改SQL表中的字段名
数据加载中...
 
   



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

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