这样(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中就正常啊。