delphi7+sql2000,运行后按按钮出现,参数找不到的出错报告窗体内adoconnection,adoquery,datasource,button1
由于需要初始化加上一行sql语句,所以只能用query调用存储过程。
我的存储过程如下CREATE PROCEDURE sp_textcopy (
@srvname varchar (30),
@login varchar (30),
@password varchar (30),
@dbname varchar (30),
@tbname varchar (30),
@colname varchar (30),
@filename varchar (30),
@whereclause varchar (40),
@direction char(1))
AS
DECLARE @exec_str varchar (255)
SELECT @exec_str =
'textcopy /S ' + @srvname +
' /U ' + @login +
' /P ' + @password +
' /D ' + @dbname +
' /T ' + @tbname +
' /C ' + @colname +
' /W "' + @whereclause +
'" /F ' + @filename +
' /' + @direction
EXEC master..xp_cmdshell @exec_str GO
代码如下:procedure TForm1.Button1Click(Sender: TObject);
var
str1:string;
str2:string;
begin
with adoquery1 do
begin
Close;
sql.clear;
str1:='insert tb_d_HT_Contracttemplete values(1,0x)';
str2:='exec sp_textcopy(''srvname'',''login'',''password'',''dbname'',''tbname'',''colname'',''filename'',''whereclause'',''direction'')';
sql.Add(str1);
sql.Add(str2);
Parameters.ParamByName('srvname').Value:='coscoqdit-dp\coscoqd';
Parameters.ParamByName('login').Value:='US_HT';
Parameters.ParamByName('password').Value:='ht';
Parameters.ParamByName('dbname').Value:='SMIS';
Parameters.ParamByName('tbname').Value:='contracttemplete';
Parameters.ParamByName('colname').Value:='contracttemplete';
Parameters.ParamByName('filename').Value:='c:\12.doc';
Parameters.ParamByName('whereclause').Value:='where contracttype=1';
Parameters.ParamByName('direction').Value:='I';
Open;
end;
end;
点击按纽后,提示参数没找到。请各位大哥帮我看看,存储过程没问题,代码哪里错了?
由于需要初始化加上一行sql语句,所以只能用query调用存储过程。
我的存储过程如下CREATE PROCEDURE sp_textcopy (
@srvname varchar (30),
@login varchar (30),
@password varchar (30),
@dbname varchar (30),
@tbname varchar (30),
@colname varchar (30),
@filename varchar (30),
@whereclause varchar (40),
@direction char(1))
AS
DECLARE @exec_str varchar (255)
SELECT @exec_str =
'textcopy /S ' + @srvname +
' /U ' + @login +
' /P ' + @password +
' /D ' + @dbname +
' /T ' + @tbname +
' /C ' + @colname +
' /W "' + @whereclause +
'" /F ' + @filename +
' /' + @direction
EXEC master..xp_cmdshell @exec_str GO
代码如下:procedure TForm1.Button1Click(Sender: TObject);
var
str1:string;
str2:string;
begin
with adoquery1 do
begin
Close;
sql.clear;
str1:='insert tb_d_HT_Contracttemplete values(1,0x)';
str2:='exec sp_textcopy(''srvname'',''login'',''password'',''dbname'',''tbname'',''colname'',''filename'',''whereclause'',''direction'')';
sql.Add(str1);
sql.Add(str2);
Parameters.ParamByName('srvname').Value:='coscoqdit-dp\coscoqd';
Parameters.ParamByName('login').Value:='US_HT';
Parameters.ParamByName('password').Value:='ht';
Parameters.ParamByName('dbname').Value:='SMIS';
Parameters.ParamByName('tbname').Value:='contracttemplete';
Parameters.ParamByName('colname').Value:='contracttemplete';
Parameters.ParamByName('filename').Value:='c:\12.doc';
Parameters.ParamByName('whereclause').Value:='where contracttype=1';
Parameters.ParamByName('direction').Value:='I';
Open;
end;
end;
点击按纽后,提示参数没找到。请各位大哥帮我看看,存储过程没问题,代码哪里错了?
解决方案 »
- delphi 可不可以装2个同样版本的DELPHI,但组件不同。。。
- WIN的快捷方式属性对话框中,显示的标签内容,当鼠标移动到上方时,会变成可选择的形状,这是如何实现的。
- 关于数据库访问速度的问题
- 有没有人用过TVirtualStringTree这个组件,我觉得好难用啊
- 请问哪里有聊天程序的源代码,搞过来学习一下!
- 关于图形学打点问题
- 如何把dbmemo中的字符写入sql server中?
- 问个关于比较编辑框的值的问题
- 新手问题!
- 如何打开已存在的Excel表?紧急求助!!!
- 用rasapi32怎样才能断开拨号网络连接?
- MIDAS更新时出现"不能在手动或分布事务方式下创建新的连接"错误是何故?
可command我不很熟悉,有没有大哥能给个例子的。
还有没有其他的办法?
exec pr_textcopy :svrname,...
不过执行时,中文提示信息变为“无法从SQL语句导出参数信息,准备命令前请设置参数信息”
就可以了,,,这意味着你要以SQL的语法在QUERY中去声响SQL的参数;