Lazarus 3.0 (2023.12.21.)
Letöltés

  • Oldal:
  • 1

TÉMA:

Válasz:sqlite 2008 szept. 02 10:13 #219

  • prekox
  • prekox profilkép
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 87
  • Köszönetek: 4
Upsz! :)
i5 3470
8GB
Win 10
CodeTyphon 7.0

Válasz:sqlite 2008 szept. 01 20:55 #218

  • fladnag
  • fladnag profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 6
  • Köszönetek: 0
with dsTest do
Begin
FileName:='New.db';
TableName:='NewTable';

A with utasítást nem vetted figyelembe!

dsTest.FileName:='New.db'

Válasz:sqlite 2008 szept. 01 16:47 #217

  • Bomber87
  • Bomber87 profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 42
  • Köszönetek: 0
A kód nem hülyeség! Igaz változtatást igényel, és én sem értem az utolsó soráig, de működik... nem tudom hogy de megy!
Ha nem létezik az adatbázis akkor létre hozza, és feltölti az Add részbe megadott mezőkel!
A uses sorba be kell irni a db-t meg sqlite3ds-t és működik és létre hozza az adatbázist. Meg lehet nyitni és működik is.

procedure TForm1.FormCreate(Sender: TObject);
var dsTest: TSqlite3Dataset;
begin
dsTest:= TSqlite3Dataset.Create(nil);
with dsTest do
Begin
FileName:='New.db';
TableName:='NewTable';
if not FileExists(FileName) then
begin
with FieldDefs do
begin
Clear;
Add('Integer',ftInteger,0,False);
Add('String',ftString,0,False);
Add('Bool',ftBoolean,0,False);
Add('Float',ftFloat,0,False);
Add('Word',ftWord,0,False);
Add('DateTime',ftDateTime,0,False);
Add('Date',ftDate,0,False);
Add('Time',ftTime,0,False);
end;
CreateTable;
end;
dsTest.open;
end;

Ezután már csak egy datasource kell és valami amibe megjelenítjük az adatokat. Ez egy üres adatbázis létrehozására tökéletesen alkalmas.
Egyetlen dolgot nem értek...
A FileName és a TableName sehol sem deklarált változok (gondolom valamelyik usesba benne vannak) csak arra nem jöttem rá hogyan lehet több táblát is létre hozni vele.
Ha esetleg valakinek van kedve próbálja ki!

Üdv:
Anonym87

Válasz:sqlite 2008 aug. 21 15:46 #216

  • prekox
  • prekox profilkép
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 87
  • Köszönetek: 4
Szerintem ennek a kódnak semmi értelme. Ha nincs adatbázis (.db fájl), akkor hova hozod létre a mezőket? Mert a fenti kód akkor hozza létre a mezőket a valamilyen nem létező táblában, ha a fájl nem létezik, ha nincs fájl, akkor a tábla sincs.
Szerintem SQL utasitásokkal hozd létre az adatbázist (ha nem lenne meg), majd SQL-el a tábláit és a mezőit (ha nem lenne neki).
Egyébként nem tudjuk hogyan néz ki az adatbázis, táblák és mezők.
i5 3470
8GB
Win 10
CodeTyphon 7.0

Válasz:sqlite 2008 aug. 20 19:03 #215

  • Bomber87
  • Bomber87 profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 42
  • Köszönetek: 0
Kiegészítés az előzőhöz... Alább adok meg 3 linket három tutorial pack... három zip fájl... elméletileg lazarus sqlite kapcsolatot mutatja be. De a problémám hogy nekem ezen is hiba üzi amit az előbb már leírtam plusz még annyi hogy Edatabase error. Én most windows alól próbáltam ki, de tartok tőle ez lenne windows alatt is... Valakinek megy? Van valakinek ötlete hogy mi lehet a baj?!

A linkek:
www.geocities.com/camara_luiz/files/dataset_tutorial_01.zip
www.geocities.com/camara_luiz/files/dataset_tutorial_02.zip
www.geocities.com/camara_luiz/files/dataset_tutorial_03.zip

Ez pedig a főoldal talán valakinek érdekes lehet:
www.geocities.com/camara_luiz/index.html

Segítségeteket előre is köszönöm.

Üdv :
Anonym87

sqlite 2008 aug. 20 11:19 #214

  • Bomber87
  • Bomber87 profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 42
  • Köszönetek: 0
Hellósztok!

Én még mindig az sqlite-tal próbálkozok találtam egy tutorialt, de nekem nem igazán megy:( sajnos...

Ez a kódom:

procedure TForm1.FormCreate(Sender: TObject);
var dsTest: TSqliteDataset;
begin
dsTest:= TSqliteDataset.Create(nil);
with dsTest do
Begin
FileName:='New.db';
TableName:='NewTable';
if not FileExists(FileName) then
begin
with FieldDefs do
begin
Clear;
Add('Integer',ftInteger,0,False);
Add('String',ftString,0,False);
Add('Bool',ftBoolean,0,False);
Add('Float',ftFloat,0,False);
Add('Word',ftWord,0,False);
Add('DateTime',ftDateTime,0,False);
Add('Date',ftDate,0,False);
Add('Time',ftTime,0,False);
end;
CreateTable;
end;
end;
end;

A usesba benn van a db és a sqliteds, de nekem mindig valami "project raised exception class:'External: SIGSEGV'"

Na és itt csődöt is mond a tudományom... Mit rontok el? Rossz eseménybe teszem? De ha nem ebbe kell akkor hova?! Nagyon várom megint segítségeteket...

Üdv:
Anonym87

  • Oldal:
  • 1