我正在瀏覽一些對我而言是新的Visual Foxpro 7.0。我有兩個不同的工作區域在DO WHILE中解密DELETE命令時遇到了一些問題。什麼被刪除?
我只是不清楚什麼是實際上被刪除。當DELETE命令發出時,我正在使用工作區1,但我沒有循環任何記錄。如果DELETE命令被用於對付tblpay(工作區1),那麼它似乎刪除了剛剛插入的記錄,這是沒有意義的。有人能告訴我嗎?
select 1 (tblpay)
USE tblpay
select 2 (tblfac)
USE tblfac
GOTO top
DO WHILE NOT EOF()
lcfy = fy
lcindex_no = index_no
lcpca = pca
lnpys = padl(alltrim(str(cum_pys)),13,' ')
select 1 (tblpay)
LOCATE FOR fy = lcfy AND index_no = lcindex_no AND pca = lcpca
IF NOT FOUND()
INSERT INTO tblpay(exp_1,fy,exp_3,exp_4,exp_5,exp_6,index_no,exp_8,pca,cum_pys,reversal) ;
values('805',lcfy,SPACE(37),lcdoc_date,lccurdoc,'00',lcindex_no,'99802',lcpca,lnpys,'R')
DELETE
ENDIF
select 2 (tblfac)
SKIP
ENDDO
只是爲了清除自己..我沒有寫這個代碼。這是在我工作的300頁文本文件中。我甚至沒有一個項目可以用來調試並親自查看。我會回顧你說的話,看看我能想出什麼。謝謝! – GunnerFan420
只是添加我將此代碼轉換爲vb.net和SQL,所以我只是想弄清楚如果DELETE是針對DO WHILE或INSERT記錄中的當前記錄。再次感謝! – GunnerFan420
執行刪除時,指針位於EOF處是不正確的。它在新插入的記錄上。因此刪除正在刪除插入的記錄。 –