存檔錯誤?? |
尚未結案
|
JamesLiang
初階會員 ![]() ![]() 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
請教先進..我的主副表均使用adoquery,於副表的SQL.Edit內我使用兩個table(Detail & Invy)Inner join的方式(因為需要找出ItemNo 對應的解說),存檔的方式是使用batch目前一切順利,存檔時系統卻告知我 ItemNo is null 因此無法存入 invy的 table,但是我程式中並沒有INSERT 任何資料到 INVY??不知如何解決,另外我在工廠的sql2000很正常的運作,使用enterprise manager 管理data
很正常,因此我backup後回家restore,奇怪的是家裡的enterprisemanager的速度
其慢無比,有沒先進可代為解決??
多謝
|
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 請教先進..我的主副表均使用adoquery,於副表的SQL.Edit內我使用兩個table(Detail & Invy)Inner join的方式(因為需要找出ItemNo 對應的解說),存檔的方式是使用batch目前一切順利,存檔時系統卻告知我 ItemNo is null 因此無法存入 invy的 table,但是我程式中並沒有INSERT 任何資料到 INVY??不知如何解決您到副表的ADOQuery用滑鼠按左鍵二下帶出TField Edit的畫面,選擇ItemNo,將其屬性ProviderFlags/pfInUpdate設為False,試試看。 引言: 另外我在工廠的sql2000很正常的運作,使用enterprise manager 管理data 很正常,因此我backup後回家restore,奇怪的是家裡的enterprisemanager的速度 其慢無比,有沒先進可代為解決??速度其慢無比,您應該沒有遠端連到工廠的Ms Sql2000吧! 速度其慢無比的原因會不會是您的電腦配備不夠,例記憶體不夠…等。或是您的電腦應用程式裝太多、常駐程式太多…等。以上的原因都有可能造成速度其慢無比。 ~小弟淺見,參考看看~ 發表人 - channel 於 2003/04/08 16:57:00
------
~小弟淺見,參考看看~ |
JamesLiang
初階會員 ![]() ![]() 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
Q1.還是不行出現的錯誤如下>>
'cANNOT INSERT THE VALUE NULL INTO COLUMN itemno',TABLE 'DBO.Invy';
COLUMN DOES NOT ALLOW NULLS INSERT FAILS';我不懂為何會存資料到invy,難道是SQL中使用INNER Join 會影響嗎?
Q2.我在delphi7內使用sql呼叫資料快速,但啟動enterprisemanager才會慢,我的
設備為P3-700,512MRAM,應該很快才是?
多謝前輩幫忙
|
JamesLiang
初階會員 ![]() ![]() 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
|
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: Q1.還是不行出現的錯誤如下>> 'cANNOT INSERT THE VALUE NULL INTO COLUMN itemno',TABLE 'DBO.Invy'; COLUMN DOES NOT ALLOW NULLS INSERT FAILS';我不懂為何會存資料到invy,難道是SQL中使用INNER Join 會影響嗎?TADOQuery可以根據您所下的SQL Select * From TableName語法,自行更行回資料庫,也就是說當您用兩個Table作Join時TADOQuery可以一次更新兩個Table,這是TADOQuery比TQuery聰明的地方,不過也造成許很多不必要的困擾,就像您所提供的問題一樣。您的SQL是下Detail & Invy Inner join的方式,所以當您在新增Detail時,Invy同是也是新增狀態,您如果同時給Detail & Invy的欄位資料,就會一起寫回資料庫,但是您只給Detail的欄位資料而Invy的欄位沒有資料,則只會將Detail的欄位資料寫回資料庫,Invy就不會寫入(我測試過沒有問題),所以您檢查一下,您是否有將資料給Invy的任一欄位。 如果您沒有將資料給Invy的任一欄位,建議您使用Calculated Field或Look up Field來取得Invy的相關資料,這樣一定沒有問題! 引言: Q2.我在delphi7內使用sql呼叫資料快速,但啟動enterprisemanager才會慢,我的 設備為P3-700,512MRAM,應該很快才是? 多謝前輩幫忙沒錯,這配備應該會很快!啟動enterprisemanager才會慢,那就不知囉!
------
~小弟淺見,參考看看~ |
JamesLiang
初階會員 ![]() ![]() 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
|
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
|
JamesLiang
初階會員 ![]() ![]() 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
|
JamesLiang
初階會員 ![]() ![]() 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
前輩..補充如下..
我依你的指點將新增時itemno的查核部分停用,存檔時就沒問題,但是一般程式於輸入料號時會帶出品名,若無法顯示品名user會有問題,我的問題是應當如何改善
?原始碼如下;
FindResult := DataModule1.AT_RDInvy.LookUp('ItemNo',R_ProdID,'Description');
DataModule1.AT_RDInvy.close;
if not varisnull (FindResult) then
DataModule1.AQ_RDDetail.FieldByName('Descrip').asstring := vartoStr(FindResult),當我將最後一段mark後存檔就不會呼叫rdinvy此table
但是descrip沒法顯示品名.
多謝
|
JamesLiang
初階會員 ![]() ![]() 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
|
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 補充..我發現當我在資料欄位的屬性我若將此欄位fieldkind訂為fklookup則於新增資料時(按下新增鍵或按向下鍵成insert狀態),就會出現unknow的訊息,但若 將他改為fkdata時就正常,但是此欄位(Description)於新增時也不會相對應資料出現,須於ap中撰寫,但又遇見如上所說的問題. 多謝您試一下用Calculated Field的方式做看看... 先到DataModule1.AQ_RDDetail按左鍵二下叫出TField視窗,選New Field,設定如下: Field properties Name: Descrip Component: 系統給定 Type: String Size: 給定Descrip的大小 ============================================== Field Type:選Calculated procedure TDataModule1.AQ_RDDetailCalcFields(DataSet: TDataSet); begin if AT_RDInvy.Locate('Item_No', DataSet.FieldByName('Item_No').AsString, []) then DataSet.FieldByName('Descrip').AsString := AT_RDInvy.FieldByName('Descrip').AsString; end;這樣應該沒有問題啦!
------
~小弟淺見,參考看看~ |
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: Channel前輩..我若將SQL中的inner join 去除,而在fieldedit中加上lookup的方式於run時出現的錯誤為An unknown error has occurred(只在新增時發生), 是否只有改成TQuery才有用?因為我也試著將invy被呼叫的'description' 使用 as 的方式給個別名,結果一樣.如何去停止存入invy此table? 多謝補充一點: 使用Lookup Filed果真會在新增資料會產生"已發生不明的錯誤"訊息 除了使用Calculated Field之外,其實您只是直接執行您的Exe便不會有此錯誤訊息,您可以試試看...
------
~小弟淺見,參考看看~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |