為何這個table可以修改但沒辦法新增 |
尚未結案
|
amandawei
一般會員 ![]() ![]() 發表:3 回覆:2 積分:1 註冊:2003-05-20 發送簡訊給我 |
我在新增紀錄的時候老是出現資料存檔發生錯誤的訊息,但是在作修改的時候卻又是正常的,為什麼呢,我其他的table做新增時都沒這樣的問題@@",下面是我的程式碼,有點長度請包涵,程式我找不出問題,到底哪裡設定有問題呢
===============================================
if Program_status = 'A' then //新增一筆記錄
begin
if vproductid='' then
begin
showmessage('請輸入產品代號');
productid_edtn.SetFocus ;
exit;
end;
table2.Active :=true; //table1和table2均指向同一個table用來檢查是否重複代號
if table2.Locate('PRODUCTID',vproductid,[loCaseInsensitive])=true then
begin
showmessage('產品代號有重覆');
productid_edtn.setfocus;
exit;
end;
table2.Active :=false;
with table1 do
begin
try
Append;
FieldValues['PRODUCTID']:= vproductid;
FieldValues['PCNAME'] := vcname;
FieldValues['PENAME'] := vename;
FieldValues['PRICE']:= strtoint(vprice);
if estdate_edtn.text<> '' then
FieldValues['ESTDATE']:= strtodate(vestdate);
if chdate_edtn.text<> '' then
FieldValues['CHADATE']:= strtodate(vchdate);
Post;
except
cancel;
showMessage('資料存檔發生錯誤,請檢查資料是否正確!!');
exit;
end;
end;
end;
if Program_status = 'A1' then //修改紀錄
begin
with table1 do
begin
try
edit ;
FieldValues['PCNAME'] := vcname;
FieldValues['PENAME'] := vename;
FieldValues['PRICE'] := strtoint(vprice);
if estdate_edtn.text<> '' then
FieldValues['ESTDATE']:= strtodate(vestdate);
if chdate_edtn.text<> '' then
FieldValues['CHADATE']:= strtodate(vchdate);
Post;
except
cancel;
showMessage('資料存檔發生錯誤,請檢查資料是否正確!!');
exit;
end;
end;
end;
========================================
|
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
由於你未列出錯誤訊息,所以只能猜猜看錯誤在那。我懷疑是 FieldValues['PRODUCTID']:= vproductid;
的問題,你試著朝這個方向檢查。
1. PRODUCTID 欄位型態是否與 vproductid 型態符合。
2. PRODUCTID 欄位是否有唯一性。
3. PRODUCTID 欄位是否允許 NULL。
以上提供你檢查的方向,如果依然查不出原因,請你將錯誤訊息,資料庫種類,欄位型態等相關資料 Post 上來以方便判斷。最好是 Source 與 資料庫都一起來
![]() |
amandawei
一般會員 ![]() ![]() 發表:3 回覆:2 積分:1 註冊:2003-05-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |