大家来看看这个问题,谢谢! (100分)

  • 主题发起人 主题发起人 tqc2008
  • 开始时间 开始时间
T

tqc2008

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在测试三层,就是在客户端进行更新数据时我想用动态的方法进行更新单却提示错误,
如我写的是 params.parambyname('xm').asstring:=edit1.text执行后提示找不到xm,不知道各位富翁有没有遇到过类似的问题,我应该怎么解决,中间层用的是ado,
我是采用clientdataset进行动态更新的:
with clietdataset1do
begin
close;
cooamdtext:='update table1 set name=:xm where ....';
params.parambyname('xm').asstring:=edit1.text
execute;
end;
然后就死活不执行,提示找不到xm,请问各位都是怎样就像开发两层时那样动态更新的,我刚学三层不要见笑!
 
怎麼能這樣更新呢,只有查詢的時候才這樣用參數的。
 
DataSet.FieldByName('AAA').AsString:= Edit1.Text;
 
那是你没有在语句中写这个变量了
=:xm
 
用的什么数据库,看它是不是对大小写敏感
 
应该是在sql中没有写:xm这个变量吧
 
我已经在语句中写了;xm了,请问各位怎样进行动态更新的啊,先谢了!
 
三层,clientdataset吗?
clientdataset.applyupdates(-1) 就自动更新了。
写了:xm参数的??
把你的sql贴出来嘛……
就这句行不:
dataset.parambyname('xm').asstring:=edit1.text
 
我是采用clientdataset进行动态更新的:
with clietdataset1do
begin
close;
cooamdtext:='update table1 set name=;xm where ....';
params.parambyname('xm').asstring:=edit1.text
execute;
end;
然后就死活比执行,请问各位都是怎样更新的,我刚学三层不要见笑!
 
楼主啊,你好好看看你的这句:
'update table1 set name=;xm where ....'
里面的";xm"是你程序里这样写的吗?
那就错了应该是“:xm”才对啊。
with clietdataset1do
begin
close;
cooamdtext:='update table1 set name=:xm where ....';
params[0].asstring:=edit1.text;
execute;
end;
 
你这不是三层的更新法,而是两层的更新法。而且你先关闭了数据集,在执行excute前
没有打开数据集,当然找不到
 
to hongxing_dl:
我就是像你那样写的,无奈就是找不到,怎么办?
to szLouis:
因为刚学习三层,所以还是沿用两层写法,应该怎么写,请帮助,谢谢各位!
 
最好Refresh一下。
 
with clietdataset1do
begin
close;
cooamdtext:='update table1 set name='''+edit1.text+''' where ....';
execute;
end;
 
真的就奇怪了,
其实楼主可以这样,新建一个TRemoteModule,什么也不用写,连接一下控件属性
试试。
几分钟的事情。
我怀疑你是不是在服务端有其他代码引起的。
 
用ADOQUERY吧,写SQL就没问题
 
to xiaolinj79:这样写也不是太好啊,你像出现一个integer或float类型怎么办,对吧!
hongxing_dl:中间层存在RemoteModule,我现在是想更新数据,不知道怎么操作!
to lgxyy:如果用adoquery是不是就不是三层了啊,不要见笑,我刚刚学习三层!
不知道各位使用三层开发的朋友怎样进行数据更新的,还望大家帮忙,谢谢!
 
with clietdataset1do
begin
close;
cooamdtext:='update table1 set name=:xm where ....';
Params[0].value:=edit1.text;//注意这里的写法是params[0].value而不是
//params.parambyname('xm').value
execute;
end;

绝对可以的。叫你重新建一个TRemoteModule试试你又不肯
 
to hongxing_dl:我测试过像你说写的代码不行,我实在搞不懂为什么,不知道你是怎么做的,我的邮件:merry_huang@163.com,如果可能请给发一个demo,非常感谢!
to 各位富翁:如果您测试成功了三层的数据更新问题,还请帮忙,万分感谢!
 
你是Delphi6的吧,给你发一个。
才写的
project1.exe是应用服务器
test/project2.exe是客户端测试代码
注意接收吧………………………………
 
后退
顶部