全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5056
推到 Plurk!
推到 Facebook!

FIREDAC問題

答題得分者是:aftcast
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2014-05-22 15:44:40 IP:59.120.xxx.xxx 未訂閱
這個問題已經發生快兩週了, 導致現在所有開發停頓

http://delphi.ktop.com.tw/board.php?cid=30&fid=1501&tid=105924
Highlander
初階會員


發表:0
回覆:40
積分:43
註冊:2008-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2014-05-23 17:58:43 IP:180.177.xxx.xxx 訂閱
我隨手幫你試了一下, XE6沒有問題. 但你貼出的程式碼有誤. 你用了

FDC_LocalSet.Connected := True;
FDT_LocalSet.Open();
FDT_LocalSet.First;

FDC_LocalSet應該是TFDConnection吧, 它不是TFDQuery因此不能First...

正確的程式碼應該是:

procedure TForm4.Button1Click(Sender: TObject);
var
sFileName : String;
sql : String;
lvi : TListViewItem;
begin
sFileName := TPath.GetDocumentsPath PathDelim 'CameraPart.sdb';

FDC_LocalSet.Params.Values['Database'] := sFileName;
FDC_LocalSet.Params.Values['User_Name'] := 'xxx';
FDC_LocalSet.Params.Values['Password'] := 'xxx';
if not FileExists(sFileName) then
begin
sql := 'CREATE TABLE IF NOT EXISTS [LOCALSET] ('
'[DEFSIZES] TEXT, '
'[DEFRATIO] TEXT, '
'[DEFPIXEL] TEXT, '
'[AUTOFIT] TEXT, '
'[IPFROM] TEXT, '
'[PROVIDER] TEXT, '
'[PHONENO] TEXT, '
'[PHONENAME] TEXT, '
'[CERTID] TEXT, '
'[PASSWORD] TEXT, '
'[USERPICT] BLOB)';
FDC_LocalSet.Connected := True;
FDC_LocalSet.ExecSQL(sql);
FDC_LocalSet.Connected := False;
end;
FDC_LocalSet.Connected := True;

FDQuery1.Open();
FDQuery1.First;

if FDQuery1.IsEmpty then
begin
FDQuery1.Append;
FDQuery1.FieldByName('DEFSIZES').Value := '200';
FDQuery1.FieldByName('DEFRATIO').Value := '4';
FDQuery1.Post;
end;
FDQuery1.First;
while (not FDQuery1.Eof) do
begin
lvi := ListView1.Items.Add;
lvi.Text := FDQuery1.FieldByName('DEFSIZES').Value;
FDQuery1.Next;
end;

end;

aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2014-05-23 19:12:50 IP:114.32.xxx.xxx 訂閱
HELLO, 路過,看不是很懂,至少看了1分鐘後不知道是什麼… 但有一點感覺怪怪的…   他first用的是 FDT (猜是dataset類的吧…)

原諒我沒仔細的看了又看,若有誤會,請海涵。 :p

===================引 用 Highlander 文 章===================
我隨手幫你試了一下, XE6沒有問題. 但你貼出的程式碼有誤. 你用了

FDC_LocalSet.Connected := True;
FDT_LocalSet.First;

FDC_LocalSet應該是TFDConnection吧, 它不是TFDQuery因此不能First...

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2014-05-23 19:14:17, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2014-05-24 00:00:57 IP:220.136.xxx.xxx 未訂閱
FDT 是我習慣命名的方式, 其實就是 FireDac Table 的意思, FDC -> FireDac Connection, 
短但容易識別
而重點是, 在我的電腦xe5上, 整段deploy到 XE5 是沒有問題, 但 xe6 就是出現這個錯誤(在手機)
===================引 用 aftcast 文 章===================
HELLO, 路過,看不是很懂,至少看了1分鐘後不知道是什麼… 但有一點感覺怪怪的… 他first用的是 FDT (猜是dataset類的吧…)

原諒我沒仔細的看了又看,若有誤會,請海涵。 :p

===================引 用 Highlander 文 章===================
我隨手幫你試了一下, XE6沒有問題. 但你貼出的程式碼有誤. 你用了

FDC_LocalSet.Connected := True;
FDT_LocalSet.First;

FDC_LocalSet應該是TFDConnection吧, 它不是TFDQuery因此不能First...

aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2014-05-24 00:12:08 IP:66.249.xxx.xxx 訂閱
所以依然無解?並非樓上所訴的問題吧?!再不行的話下周去找你幫你debug看看,順便若手寫完成,就給你參考了。別煩惱唷!^_^
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2014-05-24 01:10:06 IP:220.136.xxx.xxx 未訂閱
的確不是樓上的問題, 相同的xe5程式原封不動拿到xe6編譯, 接下來發生的事, 我都回報在ktop上了(不只這一筆)
而xe5的程式就是我給你的那份確實是可行的
===================引 用 aftcast 文 章===================
所以依然無解?並非樓上所訴的問題吧?!再不行的話下周去找你幫你debug看看,順便若手寫完成,就給你參考了。別煩惱唷!^_^
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2014-08-05 13:47:41 IP:59.120.xxx.xxx 未訂閱
感謝蕭大的協助, 發現是 XE6 不能加
USERNAME
PASSWORD
這兩組參數, 移除就好
系統時間:2024-04-27 11:51:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!