Aktuelle Zeit: 18.06.2019 23:09

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SQLite Fragen zur Datenbankprogrammierung
BeitragVerfasst: 02.05.2019 13:22 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Fragen zur SQLite Datenbankprogrammierung

Testen ob ein Table existiert!
Ist der Code so ok?
Code:
Procedure.i TableExists(*Database,Table.s)
  Protected query.i
  query = DatabaseQuery(*Database,"SELECT 1 FROM " + Table + ";")
  FinishDatabaseQuery(*Database)
  ProcedureReturn query
EndProcedure


Wann und wie die Datenbank bereinigen?
Vor jedem beenden?
Code:
Procedure.i Cleanup(*Database)
  ProcedureReturn DatabaseUpdate(*Database,"VACUUM")
EndProcedure


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SQLite Fragen zur Datenbankprogrammierung
BeitragVerfasst: 02.05.2019 13:28 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Mijikai hat geschrieben:
Testen ob ein Table existiert!

Code:
SELECT 1 FROM " + Table + ";")

Damit prüfst du nur, ob in der Tabelle Datensätze vorhanden sind, aber du möchtest eigentlich prüfen, ob die Tabelle existiert oder?
Wenn ja, dann:
Code:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'" + Table + "')
BEGIN
    PRINT 'Tabelle existiert'
END


Aber ich weiß nicht, ob es in SQLLite sowas möglich ist.

_________________
BildBildBildBildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SQLite Fragen zur Datenbankprogrammierung
BeitragVerfasst: 02.05.2019 18:02 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Habe mal hier gesucht... http://www.sqlitetutorial.net/sqlite-tu ... ow-tables/

Code:

UseSQLiteDatabase()

Procedure CheckDatabaseUpdate(Database, Query$)
  Result = DatabaseUpdate(Database, Query$)
  If Result = 0
    Debug DatabaseError()
  EndIf
 
  ProcedureReturn Result
EndProcedure

Define DatabaseFile$ = ":memory:"
Define sql.s
If CreateFile(0, DatabaseFile$)
  CloseFile(0)
 
  If OpenDatabase(0, DatabaseFile$, "", "")
   
    CheckDatabaseUpdate(0, "CREATE TABLE IF NOT EXISTS food (name CHAR(50), weight INT)")
   
    CheckDatabaseUpdate(0, "INSERT INTO food (name, weight) VALUES ('apple', '10')")
    CheckDatabaseUpdate(0, "INSERT INTO food (name, weight) VALUES ('pear', '5')")
    CheckDatabaseUpdate(0, "INSERT INTO food (name, weight) VALUES ('banana', '20')")
   
    CheckDatabaseUpdate(0, "CREATE TABLE name (name CHAR(50), city CHAR(50))")
    CheckDatabaseUpdate(0, "CREATE TABLE title (name CHAR(50), city CHAR(50))")
   
    ;sql = "SELECT * FROM food WHERE weight > 7"
    ;sql = "Select name FROM sqlite_master WHERE type = 'table' And name Not LIKE 'sqlite_%';"
    sql = "Select count(name) FROM sqlite_master WHERE type = 'table' And name = 'food';"
    If DatabaseQuery(0, sql)
     
      While NextDatabaseRow(0)
        Debug GetDatabaseString(0, 0)
      Wend
     
      FinishDatabaseQuery(0)
    Else
      Debug DatabaseError()
    EndIf
   
    CloseDatabase(0)
  Else
    Debug "Can't open database !"
  EndIf
Else
  Debug "Can't create the database file !"
EndIf

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot], Sommertv und 5 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye