我用COMMANDTEXT来实现查询什么的都会,不过这样体现不出三层的效果了
所以老师要求用远程调用的
我做了个小例子,结果一直提示出错
请各位大大帮帮忙看看
例子用的表就是一个USERNAME一个PASSWORD在远程模块
procedure Tsv.setquery(uname, pword: OleVariant);
var cmd:string;
begin
cmd:='';
cmd:='insert into users values(uname,pword)' ;
with ADOQuery1 do
begin
close;
sql.clear;
sql.add(cmd);
Prepared;
execsql; end;end;客户端这边:
procedure TCMAIN.Button2Click(Sender: TObject);
var
sv:isvdisp;uname,pword:string;
begin
sv:=isvdisp(idispatch(dcomcon.GetServer));
uname:=trim(edit1.Text);
pword:=trim(edit2.Text);cds.Close;
trysv.setquery(uname,pword);
cds.Open;
except
on e:exception do
begin
end;
end;
end;调试服务器端,在客户端添加用户,会提示错误,说是在此上下文中不允许使用UNAME,此处只允许使用常量,变量或表达式
然后OK后光标停在
execsql;很头痛啊,毕业设计一定要用到这个的啊
前辈们指点下这个应该怎么办啊,或是有没有简单的MIDAS实例给我个链接我去学习下,CSDN这号是我向表哥拿的,没有分送给前辈了,真是不好意思,在这里先谢谢前辈们了!!谢谢!!!请帮帮我!
所以老师要求用远程调用的
我做了个小例子,结果一直提示出错
请各位大大帮帮忙看看
例子用的表就是一个USERNAME一个PASSWORD在远程模块
procedure Tsv.setquery(uname, pword: OleVariant);
var cmd:string;
begin
cmd:='';
cmd:='insert into users values(uname,pword)' ;
with ADOQuery1 do
begin
close;
sql.clear;
sql.add(cmd);
Prepared;
execsql; end;end;客户端这边:
procedure TCMAIN.Button2Click(Sender: TObject);
var
sv:isvdisp;uname,pword:string;
begin
sv:=isvdisp(idispatch(dcomcon.GetServer));
uname:=trim(edit1.Text);
pword:=trim(edit2.Text);cds.Close;
trysv.setquery(uname,pword);
cds.Open;
except
on e:exception do
begin
end;
end;
end;调试服务器端,在客户端添加用户,会提示错误,说是在此上下文中不允许使用UNAME,此处只允许使用常量,变量或表达式
然后OK后光标停在
execsql;很头痛啊,毕业设计一定要用到这个的啊
前辈们指点下这个应该怎么办啊,或是有没有简单的MIDAS实例给我个链接我去学习下,CSDN这号是我向表哥拿的,没有分送给前辈了,真是不好意思,在这里先谢谢前辈们了!!谢谢!!!请帮帮我!
var cmd:string;
begin
cmd:='';
cmd:='insert into users (username,password) values(:username,:password)' ; with ADOQuery1 do
begin
close;
sql.clear;
sql.add(cmd);
Parameters.ParamByName('username').Value:=uname;
parameters.parambyname('password').value:=pword ;
parameters.parambyname('password').value:=pword ;
Prepared;
execsql; end;end;
55555555555改出来了,好想哭,基础太差了。。之前忙着找工作毕业设计的事现在开始急,55555