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

SQL抓值後,多個"|"。

尚未結案
bcshahuo
一般會員


發表:28
回覆:28
積分:11
註冊:2005-01-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-27 14:53:06 IP:211.23.xxx.xxx 未訂閱
抓值時,抓出來的資料有時會多個"|" pp := 'SELECT DEPNO FROM DEPART WHERE DEPNO=''' TRIM(DataSet.FieldByName('部門').AsString) ''''; 假設部門的資料是==>A000 抓出來後,有時會變成==>A000| 檢查第一次會出現"A000|",再按一次同樣button則變成"A000" 但程式碼都是跑同一段的,不知道是什麼原因呢?
scotthsiao
高階會員


發表:13
回覆:324
積分:147
註冊:2005-02-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-27 15:15:32 IP:211.21.xxx.xxx 未訂閱
看起來不像是資料庫的問題,請閣下將程式碼放上來才能研究一下
bcshahuo
一般會員


發表:28
回覆:28
積分:11
註冊:2005-01-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-27 15:21:28 IP:211.23.xxx.xxx 未訂閱
引言: 看起來不像是資料庫的問題,請閣下將程式碼放上來才能研究一下
大概在beforepost寫了這些。 Procedure TS2EA030F.wwClientDataSet1BeforePost(DataSet: TDataSet); Var pp: String; Begin If wwClientDataSet2.State In dsEditModes Then wwClientDataSet2.Post; pp := 'SELECT DEPNO FROM DEPART WHERE DEPNO=''' TRIM(DataSet.FieldByName('部門').AsString) ''''; If GhkDBEQryStr(SQLQuery1, PP, 'DEPNO', DataSet.FieldByName('部門').AsString) = FALSE Then Begin Application.MessageBox('部門不存在!', '錯誤', MB_OK MB_ICONSTOP); abort; End;
scotthsiao
高階會員


發表:13
回覆:324
積分:147
註冊:2005-02-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-27 17:09:03 IP:211.21.xxx.xxx 未訂閱
1. TRIM(DataSet.FieldByName('部門').AsString) ; 欄位名稱用中文有可能會產生不明的狀況 2. GhkDBEQryStr(SQLQuery1, PP, 'DEPNO', DataSet.FieldByName('部門').AsString) 這段 function 也可能有問題,需要再檢查一下 3. 資料庫裡有沒有兩筆資料相同,但其中之一多了 '|' ? 參考一下
系統時間:2024-05-20 16:01:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!