如下语句,在Delphi中为某表动态增加一列。
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('Alter Table :tb Add :col nvarchar(50) null');
parameters.ParamByName('tb').Value :=tablename;
parameters.ParamByName('col').Value :=columnname;
ExecSQL;
end;执行时,提示“在‘@P1’附近有语法错误”,搞怪了,哪里来的“@P1”啊在查询分析器中执行'Alter Table tablename Add columnname nvarchar(50) null'时成功可是当把它放到存储过程中是就会出现错误。跟在Delphi中一样,是“在@tablename附近有语法错误”CREATE PROCEDURE Pro_AddColumn
@tablename as varchar(50),
@colname as varchar(50)
AS
Alter Table @tablename Add @colname nvarchar(50) null
GO哪位大侠帮帮忙看看到底是什么原因啊???
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('Alter Table :tb Add :col nvarchar(50) null');
parameters.ParamByName('tb').Value :=tablename;
parameters.ParamByName('col').Value :=columnname;
ExecSQL;
end;执行时,提示“在‘@P1’附近有语法错误”,搞怪了,哪里来的“@P1”啊在查询分析器中执行'Alter Table tablename Add columnname nvarchar(50) null'时成功可是当把它放到存储过程中是就会出现错误。跟在Delphi中一样,是“在@tablename附近有语法错误”CREATE PROCEDURE Pro_AddColumn
@tablename as varchar(50),
@colname as varchar(50)
AS
Alter Table @tablename Add @colname nvarchar(50) null
GO哪位大侠帮帮忙看看到底是什么原因啊???
解决方案 »
- EDIT控件怎么拦截WM_PASTE消息?
- 打印的时候如果有多页的话,如何能够实现从任意页开始打印?
- CommitUpdates 的怪现象
- 为什么日期型字段,在绑定后,保存会产生在数据库中存成'0000-00-00',这个的日期
- 写在ExportGridToExcel()之后的延伸…………
- 如何在TWordDocument中插入对象?
- 谁有在D6下可以使用的条形码控件?
- 问有关窗体的参数属性
- BCD码与字符串的转换函数,谁有请给一下.
- 欢迎CSDN 18或18以下的程序员留下QQ号码 AND EMAIL 如果有兴趣加入幽灵联盟的话
- 怎么才算BDE连接
- delphi连接mysql出现MySql server has gone away如何解决?
CREATE PROCEDURE Pro_AddColumn
@tablename as varchar(50),
@colname as varchar(50)
AS
Alter Table @tablename Add @colname nvarchar(50) null
--在SQL中你不能用上面的语句进行执行,必须用到动态语句,用下面的语句
/*
declare @S varchar(500)
set @S = 'Alter Table ' + @tableName + ' add ' + @ColName + ' nvarchar(50) null '
*/
GO delphi报错也是因为这个问题
exec(@S)