A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-25 #1 三层中我在DataSetProvider里的BeforeUpdateRecord里写了向更一个表的Insert Into,在客户端新增一条就ApplayUpdates时是好的,新增多条记录后再ApplayUpdates就程序没反映了,怎么回事啊?(50分)<br />如题
三层中我在DataSetProvider里的BeforeUpdateRecord里写了向更一个表的Insert Into,在客户端新增一条就ApplayUpdates时是好的,新增多条记录后再ApplayUpdates就程序没反映了,怎么回事啊?(50分)<br />如题
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-26 #5 我找是找到在哪错了,把以下这段代码去掉就好了,就想不明白怎么会不行呢 sTemp := 'SELECT COUNT(*) AS RowsCount FROM rydmb WHERE gsid = ' + IntToStr(DeltaDs.FieldByName('gsid').AsInteger) + ' AND ygBh = ''' + Trim(DeltaDs.FieldByName('ygBh').AsString) + ''' AND ygId <> ' + IntToStr(DeltaDs.FieldByName('ygId').AsInteger); if GetRowCount(sTemp) > 0 then ////停在这里的,过程里就打开数据集取回RowsCount字段值 begin raise Exception.Create('该员工工号已存在!'); Exit; end;
我找是找到在哪错了,把以下这段代码去掉就好了,就想不明白怎么会不行呢 sTemp := 'SELECT COUNT(*) AS RowsCount FROM rydmb WHERE gsid = ' + IntToStr(DeltaDs.FieldByName('gsid').AsInteger) + ' AND ygBh = ''' + Trim(DeltaDs.FieldByName('ygBh').AsString) + ''' AND ygId <> ' + IntToStr(DeltaDs.FieldByName('ygId').AsInteger); if GetRowCount(sTemp) > 0 then ////停在这里的,过程里就打开数据集取回RowsCount字段值 begin raise Exception.Create('该员工工号已存在!'); Exit; end;
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-26 #6 又试了试,点保存后我就等着,过很长时间(二三十秒)了可是可以保存进去,为什么要那么长时间呢?各位有没遇到过这情况
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-26 #7 这个问题好像跟http://www.delphibbs.com/delphibbs/dispq.asp?lid=1027504的差不多
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-29 #8 刚又试了试,发现把SQL中的Where条件中的字符形字段的就那么慢,去掉了就很正常
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-29 #9 sTemp := 'SELECT COUNT(*) AS RowsCount FROM rydmb WHERE gsid = ' + IntToStr(DeltaDs.FieldByName('gsid').AsInteger) + ' AND ygBh = ''' + Trim(DeltaDs.FieldByName('ygBh').AsString) + ''' AND ygId <> ' + IntToStr(DeltaDs.FieldByName('ygId').AsInteger); --------------------------- 先把上面生成的sql语句放到查询分析器上运行一下,看看是数据库的问题还是程序的问题。
sTemp := 'SELECT COUNT(*) AS RowsCount FROM rydmb WHERE gsid = ' + IntToStr(DeltaDs.FieldByName('gsid').AsInteger) + ' AND ygBh = ''' + Trim(DeltaDs.FieldByName('ygBh').AsString) + ''' AND ygId <> ' + IntToStr(DeltaDs.FieldByName('ygId').AsInteger); --------------------------- 先把上面生成的sql语句放到查询分析器上运行一下,看看是数据库的问题还是程序的问题。
A aahben Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-29 #10 请问楼主,我用的是DELPHI7,我怎么就找到了DataSetProvider控件呀,帮忙了[]
A am2001 Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-29 #11 解决了,在BeforeUpdateRecord里自己写SQL保存就可以了