[pomoč]: SQLite v delphi-ju

Dbase, sql, paradox in vse drugo kar se tiče baz.
Odgovori
bruhahaha
Prispevkov: 1
Pridružen: 17.03.2011 10:22:00

[pomoč]: SQLite v delphi-ju

Odgovor Napisal/-a bruhahaha » 17.03.2011 10:31:50

Pozdrav!
Že nekaj časa se ukvarjam kako povezati bazo (okolje je SQLite) v delphi (uporabljam Lazarus). Pa mi vesno javlja napako, da tabele ne najde ali da ne najde baze.

Moja koda zgleda tako:

Koda: Izberi vse

unit Forma2;
//unit SQLDBToolsUnit;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, db,
  sqldb, sqlite3conn,
  FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, DBGrids, DbCtrls;

type

  { TForm2 }

  TForm2 = class(TForm)
    prikaziOsebe: TButton;
    dodajOsebo: TButton;
    ime_priimekOsebe: TEdit;
    sl: TSQLite3Connection;
    query: TSQLQuery;
    transakcija: TSQLTransaction;
    VPIS_IMEN_PRIIMKOV_IZ_BAZE: TLabel;
    ostojeca_imena_in_priimki: TLabel;
    oseba: TLabel;
    procedure dodajOseboClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure prikaziOsebeClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end; 

var
  Form2: TForm2; 

implementation

{ TForm2 }

procedure TForm2.FormCreate(Sender: TObject);
begin

end;

procedure TForm2.prikaziOsebeClick(Sender: TObject);
var
   myFile : TextFile;
   besedilo   : string;
begin
  //v okno VPIS_IMEN_PRIIMKOV_IZ_BAZE moramo izpisati katere
  //osebe so vpisane v bazi
  try
      sl.HostName:='lochalhost';
      sl.UserName:='';
      sl.Password:='';
      sl.DatabaseName:='nekabaza';
      sl.Transaction := transakcija;

      query.DataBase := sl;
      {The following line is required, else you get "could not retrieve primary key metadata".
        I was really stuck on this until I found http://bugs.freepascal.org/view.php?id=13241}
      query.UsePrimaryKeyAsKey:=false;
      query.SQL.Text := 'SELECT ime_priimek FROM igralci';
      query.Open;
   except
      on E: Exception do
      ShowMessage(E.message);
   end;
end;

procedure TForm2.dodajOseboClick(Sender: TObject);
begin
   //povezati se moramo na bazo
   //ter dodati v igralce novega clana
end;

initialization
  {$I forma2.lrs}

end.
Nevem pa kaj delam narobe oziroma kje naj bi bila napaka, da mi javlja napako.
Hvala za odgovor,
lp

odisej
Prispevkov: 1363
Pridružen: 09.05.2003 12:58:10

Re: [pomoč]: SQLite v delphi-ju

Odgovor Napisal/-a odisej » 17.03.2011 10:35:16

Sicer ne vem, če te komponente delajo tudi na Lazarusu, pa probej http://www.aducom.com/cms/index.php

klemens
Prispevkov: 43
Pridružen: 30.06.2003 16:53:49

Re: [pomoč]: SQLite v delphi-ju

Odgovor Napisal/-a klemens » 17.03.2011 15:06:30

lochalhost?

poskusi localhost.

Uporabniški avatar
krho
Prispevkov: 709
Pridružen: 11.01.2003 23:02:56

Re: [pomoč]: SQLite v delphi-ju

Odgovor Napisal/-a krho » 17.03.2011 19:20:40

nič od tega ni prav, ker povezava na sqlite ni preko TCP/IP, to je lahko prazno pod name gre pa najbrž absolutna pot do datoteke z bazo...

riko
Prispevkov: 444
Pridružen: 25.02.2004 12:40:57

Re: [pomoč]: SQLite v delphi-ju

Odgovor Napisal/-a riko » 18.03.2011 10:19:35

Requirements
For sqlite3 databases:
fpc 2.0.2
Lazarus 0.9.11 (svn revision 8443 or above)
sqlite runtime library 3.2.1 or above (get from http://www.sqlite.org)

How To Use (Basic Usage)
At design time set the following properties:
FileName: path of the sqlite file [required]
TableName: name of the table used in the sql statement [required]
Sql: a SQL select statement [optional]

Iz zgornjega se mi zdi, da ima TableName v connection-u ?!

Odgovori