这样(dbName传的值实际为'SeAct')
cmd.CommandText:='drop database :dbName';
cmd.Parameters.ParamByName('dbName').Value:=dbName;
cmd.Execute;
出错,报“第 1 行: '@P1' 附近有语法错误。”
然后用sqlserver的事件探查器跟踪
执行时是自动生成的
exec sp_executesql N'drop database @P1', N'@P1 varchar(5)', 'SeAct'
单把上面一句拿出来也是出错,“第 1 行: '@P1' 附近有语法错误。”sp_executesql 不能支持drop database @P ???select中就正常啊。
go
sp_who