無法建立Table |
缺席
|
CJF
一般會員 發表:5 回覆:14 積分:8 註冊:2002-10-25 發送簡訊給我 |
我希望由程式來產生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 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
我提供一個我在產生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 發送簡訊給我 |
引言: 我提供一個我在產生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 發送簡訊給我 |
|
CJF
一般會員 發表:5 回覆:14 積分:8 註冊:2002-10-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |