当前位置: 代码迷 >> PB >> pb中用动态SQL创建表!解决办法
  详细解决方案

pb中用动态SQL创建表!解决办法

热度:36   发布时间:2016-04-29 05:53:57.0
pb中用动态SQL创建表!
string   ls_sql   
ls_sql =   "create   table   tablenam   ( " ………………
省略号后面的内容大虾们都知道,我就不写了,问题的关键是:tablenam 如果就用它作表名,那没问题,问题是它是一个变量,它接收用户的输入,tablenam如果是变量,系统就会提示出错,各位大虾,跪求解决方案,泪牛满面啊!!(tablenam,也就是指表名,表名不是程序事先定义的,而是由用户动态输入进去的,请教!)

------解决方案--------------------
把表明定义成一个变量不行吗?如下定义,看是否可以:
string ls_sql,ls_table
ls_table = sle_1.text //接收用户输入
ls_sql = "create table "+ls_table+"tablenam ( " ………………




------解决方案--------------------
string sql_str, ls_table_name 
ls_table = "动态表名"
sql_str ="" +&
"CREATE TABLE " + ls_table_name + " ( " + &
"bm varchar(16) NOT NULL   DEFAULT (''), " + &
"mc varchar(30) NULL   DEFAULT (''), " + &
"constraint pk_table primary key NONCLUSTERED (bm)" +&
" );"
EXECUTE IMMEDIATE :sql_str using sqlca;
if sqlca.sqlcode = -1 then
    sql_str = sqlca.sqlerrtext
    rollback using sqlca;
    messagebox('', '建表错误!~r~n错误原因:' + sql_str)
    return -1
end if
commit using sqlca;
  相关解决方案