Manuel Sqlite veritabanı oluşturma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Manuel Sqlite veritabanı oluşturma

Mesaj gönderen Serhat »

İyi akşamlar...

Aşağıdaki kodları forumda bir hocamın yapmış olduğu örnekten aldım, hocam database olarak Mdb kullanmış ben Sqlite ile manuel database oluşturmak istiyorum bu nasıl yapabilirim...

Kod: Tümünü seç

procedure VeritabaniKontrol;
var
  Katalog  : OleVariant;
  strData  : String;
  strTablo : String;
begin
  With Form1 do begin
    strData := ExtractFilePath(Application.Exename) + 'DATA\';
    if NOT DirectoryExists( strData ) // Klasör yoksa CREATE ediyorum.
      then ForceDirectories( strData );

    ADOConnection1.LoginPrompt := False;
    ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + strData + 'Veritabani.MDB';
    DataSource1.DataSet  := ADOQuery1;
    DBGrid1.DataSource   := DataSource1;
    AdoQuery1.Connection := ADOConnection1;
  end;

  if NOT FileExists( strData + 'Veritabani.MDB' ) then
  begin // Veritabanı yoksa CREATE ediyorum...
    Katalog  := CreateOleObject('ADOX.Catalog');
    Katalog.Create( Form1.ADOConnection1.ConnectionString );
    Katalog  := Unassigned;    // Uses Variants

    strTablo := 'CREATE TABLE ArsivTablo ('
      + 'A_KayNo    AutoIncrement CONSTRAINT idxArsiv PRIMARY KEY, '
      + 'A_Adi      Text( 20 ), '
      + 'A_Soyadi   Text( 20 ), '
      + 'A_BelgeAdi Text( 20 ), '
      + 'A_BelgeTip Text(  3 )  '
      + ')';

    With TADOCommand.Create(nil) do
    begin
      Connection  := Form1.ADOConnection1;
      CommandText := strTablo;
      Prepared := true;
      Execute;
      Free;
    end;
  end;
end;

Type
  tBelgeBilgi = Record
    boolIslemTamam : Boolean;
    strBelgeTipi,
    strBelgeYeniAdi : String;
  End;
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Manuel Sqlite veritabanı oluşturma

Mesaj gönderen freeman35 »

aşağıdaki kod wince de yazdığım, sayım yapmak için kullanılan programımdan. lazarus da yazdım ufak tefek yazılım farkları olabilir.

Kod: Tümünü seç

function TDM.Create_db: boolean;
begin
  Result:=False;
    try
      if SQLite3Conn.Connected then SQLite3Conn.Connected:=False;
      Tr_Conn.Active:=False;
       if FileExists(db_name) then DeleteFile(db_name);

      SQLite3Conn.Open;
      Tr_Conn.Active:=true;
      SQLite3Conn.ExecuteDirect('CREATE TABLE tbl(ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,Kodu VARCHAR(13));');
       Tr_conn.CommitRetaining;
       SQLite3Conn.CloseTransactions;
       SQLite3Conn.Close();
      Result :=True;
    except
      ShowMessage('Hata oluştu !!!');
    end;
end;
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla