先我的一个表中有两个字段,一个是NO 一个是wordtemplete(类型image)
我在窗体中加了adoconnection,adostoredproc,datasource和一个button.
我写了一个可以读入和读出sql2000中image字段的word文档或者bmp图片的存储过程,可当我在object inspector里对存储过程中各变量附值后,改变adostoredproc.active:=true时,弹出一条出错消息“xpsql.cpp:错误997来自GetProxyAccount(第472行)”,请问各位大哥知道这是哪出错了吗?后来改用代码附值
存储过程在查询分析器内运行正常。
存储过程: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);
begin
with adostoredproc1 do
Close;
Params.ParamByName('@srvname').Value:='servename';
Params.ParamByName('@login').Value:='username';
Params.ParamByName('@password').Value:='password';
Params.ParamByName('@dbname').Value:='databasename';
Params.ParamByName('@tbname').Value:='tablename';
Params.ParamByName('@colname').Value:='wordtemplete';
Params.ParamByName('@filename').Value:='c:\12.doc';
Params.ParamByName('@whereclause').Value:='where no=1';
Params.ParamByName('@direction').Value:='I';
Prepared:=true;
Open;
end;
执行时出错:[Error] stro.pas(33): Undeclared identifier: 'Params'
请各位大哥指点,在线等,解决马上给分!
我在窗体中加了adoconnection,adostoredproc,datasource和一个button.
我写了一个可以读入和读出sql2000中image字段的word文档或者bmp图片的存储过程,可当我在object inspector里对存储过程中各变量附值后,改变adostoredproc.active:=true时,弹出一条出错消息“xpsql.cpp:错误997来自GetProxyAccount(第472行)”,请问各位大哥知道这是哪出错了吗?后来改用代码附值
存储过程在查询分析器内运行正常。
存储过程: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);
begin
with adostoredproc1 do
Close;
Params.ParamByName('@srvname').Value:='servename';
Params.ParamByName('@login').Value:='username';
Params.ParamByName('@password').Value:='password';
Params.ParamByName('@dbname').Value:='databasename';
Params.ParamByName('@tbname').Value:='tablename';
Params.ParamByName('@colname').Value:='wordtemplete';
Params.ParamByName('@filename').Value:='c:\12.doc';
Params.ParamByName('@whereclause').Value:='where no=1';
Params.ParamByName('@direction').Value:='I';
Prepared:=true;
Open;
end;
执行时出错:[Error] stro.pas(33): Undeclared identifier: 'Params'
请各位大哥指点,在线等,解决马上给分!
[Error] stro.pas(33): Missing operator or semicolon
[Error] stro.pas(34): Object or class type required
其中“1”为no=1
可用storedproc怎么写才能加入这条初始化的sql语句呢?
现在的问题是怎么写才能调用这个存储过程。
高手大哥们,帮帮忙吧。
with ... do
begin
...
end;
begin
with adostoredproc1 do
begin //加上这句
Close;
Params.ParamByName('@srvname').Value:='servename';
Params.ParamByName('@login').Value:='username';
Params.ParamByName('@password').Value:='password';
Params.ParamByName('@dbname').Value:='databasename';
Params.ParamByName('@tbname').Value:='tablename';
Params.ParamByName('@colname').Value:='wordtemplete';
Params.ParamByName('@filename').Value:='c:\12.doc';
Params.ParamByName('@whereclause').Value:='where no=1';
Params.ParamByName('@direction').Value:='I';
Prepared:=true;
Open;
end; //加上这句
end;