读书人

哪位高手能帮帮小弟我

发布时间: 2012-03-09 21:42:53 作者: rapoo

谁能帮帮我
with form1.ADOQuery2 do
begin
sql.Clear;
sql.Add( 'execute sp_add_jobstep :job_name,:step_name,:subsystem,:command ');
parameters.ParamByName( 'job_name ').Value:= '001 ';
parameters.ParamByName( 'step_name ').Value:= '备份 ';
parameters.ParamByName( 'subsystem ').Value:= 'TSQL ';
parameters.ParamByName( 'command ').Value:= 'BACKUP DATABASE Pubs TO DISK= ' 'e:\back\pubs.bak ' ' ';
execsql;
end;
我运行时老是提示,当前应用程序中使用了错误的值类型,subsystem,command应该怎样赋值?

[解决办法]
with ADOQuery1 do
begin
sql.Clear;
parameters.Clear;
sql.Add( 'execute sp_add_jobstep :job_name,:step_name,:subsystem,:command ');
parameters.ParamByName( 'job_name ').Value:= '001 ';
parameters.ParamByName( 'step_name ').Value:= '备份 ';
parameters.ParamByName( 'subsystem ').Value:= 'TSQL ';
parameters.ParamByName( 'command ').Value:= 'BACKUP DATABASE Pubs TO DISK= ' 'e:\back\pubs.bak ' ' ';
execsql;
end;


如果不采用参数的方式有问题吗?


[解决办法]
execute sp_add_jobstep @job_name=:job_name,@step_name=:step_name, @ubsystem=:subsystem, @command=:command '
[解决办法]
在sp_add_job里subsystem,command是什么数据类型啊?
[解决办法]
把你的存储过程实现内容注释掉,然后调用看看有没有问题?你确认存储过程没有问题吗?
[解决办法]
sql.Add( 'execute sp_add_jobstep :@job_name,:@step_name,:@subsystem,:@command ');
parameters.ParamByName( '@job_name ').Value:= '001 ';
parameters.ParamByName( '@step_name ').Value:= '备份 ';
parameters.ParamByName( '@subsystem ').Value:= 'TSQL ';
parameters.ParamByName( '@command ').Value:= 'BACKUP DATABASE Pubs TO
[解决办法]
为什么不把参数值直接写在后面呢?
sql.add( 'exec sp_add_jobstep '+quotedstr( '001 ')+ ', '+quotedstr( '备份 ')+ ', '+quotedstr( 'TSQL ')+ ', '+quotedstr( 'BACKUP DATABASE Pubs TO DISK= ' 'e:\back\pubs.bak ' ' '));

读书人网 >.NET

热点推荐