(21-04-2019, Saat: 18:50)yhackup Adlı Kullanıcıdan Alıntı: Bu SQL Lite mi çok dandik ben mi yanlış kullanıyorum anlamadım, Javada yeni database ve yeni tablo oluşturuyorum sorun yok, bir başka tablo oluşturuyorum ilk oluşturduğum tablo bozuluyor.
Basitçe mantığını öğrenebileceğim bir kaynak var mıdır SQL Lite için
Merhaba,
Single-connection bir bağlantı yapısı var. O yüzden debug yaparken SQLite Db Browser yazılımında kırılma yaşatıyor. Sorunun kaynağını tespit etmiş olduğunuz için ek bilgi ekliyorum;
Bir yapıcı metod ile bağlantı ve sorgu nesnelerini hazırlayın. Daha sonra iş sınıfı oluşturup tüm sql işlemlerinizi orada çözümleyin.
constructor TMySqliteManager.Create;
var
path: string;
begin
inherited Create;
{$IF DEFINED(ANDROID)}
conn := TMyFDConnection.CreateConnection(TPath.Combine(TPath.GetDocumentsPath, 'DBADI.db'));
{$ELSE}
path := ExtractFilePath(ParamStr(0));
conn := TMyFDConnection.CreateConnection(TPath.Combine(path, 'DBADI.db'));
{$ENDIF}
fdq :
constructor TMyFDConnection.CreateConnection(connectionString: string);
begin
Self.Create;
{ Bağlantı oluştur }
conn := TFDConnection.Create(nil);
{ Ayarlar }
conn.LoginPrompt := false;
conn.DriverName := 'SQLite';
{ Parametreler }
conn.params.Database := connectionString;
conn.params.DriverID := 'SQLite';
end;
Select
fdQuery := TFDQuery.Create(nil);
fdQuery.Active := false;
fdQuery.Connection := conn;
fdQuery.SQL.Text := query;
fdQuery.Active := true;
fdQuery.Open;
Result := fdQuery;
Insert-Update-Delete
fdQuery := TFDQuery.Create(nil);
fdQuery.Connection := conn;
fdQuery.SQL.Text := query;
fdQuery.ExecSQL;
Result := 1;
FDQuery içine parametre geçmek için
fdQuery.ParamByName(param.name).Value := param.Value;