線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1205
推到 Plurk!
推到 Facebook!

資料庫實際資料與DBGRID中所秀資料不同...

 
lamp
一般會員


發表:3
回覆:10
積分:7
註冊:2006-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-09 00:11:50 IP:59.126.xxx.xxx 訂閱
ORACLE 8.17 + Delphi 7 ,  使用ADOConnection1 + ADOQuery1+DataSource1+DBGrid1...

資料庫中欄位定義..TABLE1
PIN_NO NUMBER (3) NOT NULL,
PIN_SPACE_NO NUMBER (3) NOT NULL,

我有一段SQL語查詢TABLE1,其中PIN_NO,PIN_SPACE_NO,資料庫內記錄為 -1 ,但是我程式執行時代入相同的語法,由DBGrid1中所看到的郤是 1 ,其它欄位都正常...百思不得其解,特來請教各位大大是否有遇到過相同現像,有沒有解決方式...拜託高手幫幫忙

PS: 確定是相同SQL語法,SQL*PLS中看到的結果和程式執行結果資料郤不一樣.

lamp
一般會員


發表:3
回覆:10
積分:7
註冊:2006-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-09 12:06:19 IP:60.249.xxx.xxx 訂閱

各位大大可否提供事件發生可能原因,方便我進一步進行DEBUG?...感謝!
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-03-09 12:28:16 IP:59.120.xxx.xxx 未訂閱
你有預先在query元件拉好field嗎?

有的話,看是不是被改成"boolean"型態了....
------
星期一,二...無窮迴圈@@
lamp
一般會員


發表:3
回覆:10
積分:7
註冊:2006-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-03-09 15:51:17 IP:60.249.xxx.xxx 訂閱
CREATE TABLE FAULT_COMPONENT_INFO ( 
TEST_MACHINE_ID NUMBER (10) NOT NULL,
SAVED_MACHINE_ID NUMBER (10) NOT NULL,
PROGRAM_NAME_ID NUMBER (6) NOT NULL,
REVISION_NO NUMBER (5) NOT NULL,
SERIAL_NO NUMBER (3) NOT NULL,
LOAD_COUNT NUMBER (6) NOT NULL,
PCB_NO NUMBER (4) NOT NULL,
COMPONENT_NO NUMBER (5) NOT NULL,
PIN_NO NUMBER (3) NOT NULL,
PIN_SPACE_NO NUMBER (3) NOT NULL,
FAULT_COMPONENT_SERIAL NUMBER (12) NOT NULL,
FAULT_PIN_SERIAL NUMBER (13) NOT NULL,
FAULT_CODE INTEGER,
REVISED_FAULT_ID INTEGER,
COMPONENT_REVISE_END_DATE DATE,
OUT_COMPONENT_FLAG NUMBER (1),
FAULT_LAND_COUNT NUMBER (4),
IMAGE_FILE_NAME VARCHAR2 (256),
GRID CHAR (2),
VENDOR_NAME VARCHAR2 (128),
COMPONENT_PERSON_REVISOR NUMBER (3),
COMPONENT_REVISE_TIME NUMBER,
COMPONENT_REVISE_MACHINE_ID NUMBER (10),
MACHINE_FAULT_CODE INTEGER,
CONSTRAINT PK_FAULT_COMPONENT_INFO
PRIMARY KEY ( TEST_MACHINE_ID, SAVED_MACHINE_ID, PROGRAM_NAME_ID, REVISION_NO, SERIAL_NO, LOAD_COUNT, PCB_NO, COMPONENT_NO, PIN_NO, PIN_SPACE_NO ))


以上是我原本的script

以下是我查詢的言法..
SELECT PIN_NO,PIN_SPACE_NO,FC.* FROM VT_DB.FAULT_COMPONENT_INFO FC
WHERE
FC.TEST_MACHINE_ID =5
AND FC.SAVED_MACHINE_ID =5
AND FC.PROGRAM_NAME_ID =54
AND FC.REVISION_NO =7
AND FC.SERIAL_NO =7
AND FC.LOAD_COUNT=1
AND FC.PCB_NO=2


我試著去變更原本的欄位值為 2,100, 或 -2,-100,結果,重新查詢,他秀出來也不是 2,100, 或 -2,-100 還是 1,1 @@

UPDATE FAULT_COMPONENT_INFO fc SET PIN_NO=2,PIN_SPACE_NO=100
WHERE
FC.TEST_MACHINE_ID =5
AND FC.SAVED_MACHINE_ID =5
AND FC.PROGRAM_NAME_ID =54
AND FC.REVISION_NO =7
AND FC.SERIAL_NO =7
AND FC.LOAD_COUNT=1
AND FC.PCB_NO=2


ADOConnection1 只有設定連線DB
ADOQuery1只有設定連線 ADOConnection1 (沒有自行設定fields,完全交由 sql 語法決定有多少fields)
DataSource1 只有設定連線 ADOQuery1
DBGRID1 只有設定連線 DataSource1 (沒有自行設定columns,完全交由 sql 定columns)

以上提供各位參考...


Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-03-13 12:39:15 IP:59.124.xxx.xxx 未訂閱
------
Fishman
lamp
一般會員


發表:3
回覆:10
積分:7
註冊:2006-07-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-03-14 08:56:19 IP:60.249.xxx.xxx 訂閱

十分感
Fishman 大大的回覆...

因為案子很急,這個部份的問題我後來利用程式的技巧去規避這個問題了,暫時不理它...

ps: 我利用delphi 5 測試,結果是回傳 -1 ,提供各位參考囉

系統時間:2024-05-19 18:32:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!