注册 登录
编程论坛 PowerBuilder

[求助]如何向后台数据库动态添加字段

wsl000 发布于 2006-03-08 14:12, 1345 次点击

如何向后台数据库动态添加字段

10 回复
#2
ヤ順祺冄繎ヤ2006-03-08 15:43
用的是MSSQL吗?
这种的话就可以用SQL命令来添加呀!!
#3
wsl0002006-03-08 15:56
execute immediate 'alter table 动态表 add newfield varchar(10)' using sqlca;
这样可以在表中添加一个字段名为newfield的字段
但是这样就有错误了
string aa
aa="新字段"
execute immediate 'alter table 动态表 add “+aa+” varchar(10)' using sqlca;


#4
ヤ順祺冄繎ヤ2006-03-08 16:39
aa前面要加:啊...
PB里规定了的嘛..变量前都要用冒号呀!!!
#5
wsl0002006-03-09 08:14
我加了:
但是还是提示有语法错误
新的字段还是添加不上呀
#6
ヤ順祺冄繎ヤ2006-03-09 09:30
那我也不知道了..你用另外一种动态SQL试一下吧!!
#7
wsl0002006-03-09 10:07
我试着调用一下存储过程看能不能实现吧
前提是我得马上学存储过程
#8
wsl0002006-03-09 11:14
存储过程
CREATE procedure proc_name
@newfield varchar(10)
as
exec('alter table 动态表 add ' + @newfield + ' varchar(10) ')
GO
在pb中调用存储过程
string aa
aa=trim(sle_1.text)
declare proce1 procedure for proc_name @newfield=:aa using sqlca;
execute proce1;
close proce1;
这样就可以实现在动态表中动态添加字段了
#9
ヤ順祺冄繎ヤ2006-03-09 11:42
#10
dsw182006-06-03 17:28
#11
ahxcty2006-06-10 09:44
ls_sql = "alter table 动态表 add " + aa + " varchar(10)"

execute immediate ls_sql using sqlca;
1