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

無法建立Table

缺席
CJF
一般會員


發表:5
回覆:14
積分:8
註冊:2002-10-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-24 09:37:53 IP:211.21.xxx.xxx 未訂閱
我希望由程式來產生Table, 可是會出現" 無此 .db " 的錯誤訊息, 請幫我看看, 程式那邊寫錯了 with dbLocal do begin Connected := false; AliasName := ''; DriverName := 'STANDARD'; Params.Clear; Params.Add('DEFAULT DRIVER=PARADOX'); Params.Add('PATH=' sAppHome); try Connected := true; except on E: Exception do begin sMsg := '資料庫連線失敗,請離開系統並重試!'; MessageBox(Self.Handle, PChar(sMsg), '錯誤', MB_OK MB_ICONSTOP); Application.Terminate; end; end; end; with ttable.Create(nil)do begin DatabaseName := 'dbLocal'; TableType := ttParadox; TableName := sInvoDetail; //sinvodetail= invodetail.db 已經先宣告了 if not FileExists(sApphome sinvoDetail) then begin with FieldDefs do begin Clear; Add('編號', ftinteger, 0); Add('配送編號', ftString, 8); Add('買受人' , ftString, 50); Add('出貨單號', ftString, 12); Add('地址', ftString, 80); Add('揀貨單號', ftString, 12); Add('統一編號', ftString, 8); Add('發票總頁數', ftString, 2); Add('訂單編號', ftString, 14); Add('頁次', ftString, 2); Add('條碼', ftString, 13); Add('t1', ftString, 1); Add('品名', ftString,100); Add('數量', ftInteger, 0); Add('單價', ftInteger, 0); Add('金額', ftInteger, 0); Add('稅額', ftString, 8); Add('總和', ftString, 8); end; with IndexDefs do begin Clear; with AddIndexDef do begin Name := '發票'; Fields := '揀貨單號;條碼;出貨單號;頁次'; Options := [ixPrimary]; end; end; createtable; end; free; end;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-24 09:45:53 IP:202.39.xxx.xxx 未訂閱
http://www.swissdelphicenter.ch/en/showcode.php?id=1286 http://www.lmc-mediaagentur.de/dpool/tips/1006.htm http://www.lmc-mediaagentur.de/dpool/tips/0488.htm -- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-24 09:53:09 IP:211.74.xxx.xxx 未訂閱
我提供一個我在產生TempTable的做法...你參考一下看看..這個是可以Run的... 你要把Table1的TableName設定為ABC_TEMP.DB..你可能少了這一道設定 //開暫存檔 Table1.Close; Table1.TableType := ttParadox; Table1.TableName := 'ABC_TEMP.DB'; Table1.FieldDefs.Clear; Table1.FieldDefs.add('AA', ftstring, 2, false); //Key Table1.FieldDefs.add('BB', ftstring, 20, false);//Key Table1.FieldDefs.add('CC', ftstring, 20, false); Table1.FieldDefs.add('DD', ftFloat, 0, false); Table1.IndexDefs.Clear(); Table1.IndexDefs.Add('', 'AA;BB', [ixUnique, ixPrimary]); Table1.CreateTable; Table1.EmptyTable; Table1.Open; TRY TRY SEE..
CJF
一般會員


發表:5
回覆:14
積分:8
註冊:2002-10-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-24 10:13:17 IP:211.21.xxx.xxx 未訂閱
引言: 我提供一個我在產生TempTable的做法...你參考一下看看..這個是可以Run的... 你要把Table1的TableName設定為ABC_TEMP.DB..你可能少了這一道設定 //開暫存檔 Table1.Close; Table1.TableType := ttParadox; Table1.TableName := 'ABC_TEMP.DB'; Table1.FieldDefs.Clear; Table1.FieldDefs.add('AA', ftstring, 2, false); //Key Table1.FieldDefs.add('BB', ftstring, 20, false);//Key Table1.FieldDefs.add('CC', ftstring, 20, false); Table1.FieldDefs.add('DD', ftFloat, 0, false); Table1.IndexDefs.Clear(); Table1.IndexDefs.Add('', 'AA;BB', [ixUnique, ixPrimary]); Table1.CreateTable; Table1.EmptyTable; Table1.Open; TRY TRY SEE..
tablename我有設, 如果我把設索引那段程式碼拿掉, 就可以建立table 但我須要有這個索引, 索引的寫法我有改成你的寫法, 可是一樣會出現下面的錯誤訊息 number is out of range table does not exist table:C:\invodetail.db
whyzn
中階會員


發表:46
回覆:149
積分:54
註冊:2002-06-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-24 10:55:49 IP:61.223.xxx.xxx 未訂閱
試一下  
with AddIndexDef do
begin
  Name := '';
  Fields := '揀貨單號;條碼;出貨單號;頁次';
  Options := [ixPrimary];
end;
 
●○○○○○●○○○○○● 竹密不妨水過,山高無礙雲飛
------
●○○○○○●○○○○○●
竹密不妨水過,山高無礙雲飛
CJF
一般會員


發表:5
回覆:14
積分:8
註冊:2002-10-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-24 13:06:31 IP:211.21.xxx.xxx 未訂閱
引言: 試一下
with AddIndexDef do
begin
  Name := '';
  Fields := '揀貨單號;條碼;出貨單號;頁次';
  Options := [ixPrimary];
end;
 
●○○○○○●○○○○○● 竹密不妨水過,山高無礙雲飛
謝謝各位, 我問題已解決了, 設索引的欄位, 在定義欄位時, 先定義這些欄位, 就沒錯誤了
系統時間:2024-06-01 22:59:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!