Re: Problèmes SQLite - "Values et colomns"
Publié : mar. 07/févr./2017 14:06
Je suis en train de faire une version du code avec plusieurs tables, mais j'ai l'erreur "no such table" et j'ai vérifié, en effet les tables ne sont pas créées dans le fichier .sqlite.
Voici la procedure de création de la base de données si elle n'existe pas :
Voici la procedure de création de la base de données si elle n'existe pas :
Code : Tout sélectionner
Procedure DB_Init_Tables(); Init Tables
Protected plFile.l
Protected psSQLRequest.s
UseSQLiteDatabase()
If FileSize(#PB_Compiler_FilePath+"PhotosModèles.sqlite") < 0
plFile = CreateFile(#PB_Any, #PB_Compiler_FilePath+"PhotosModèles.sqlite")
If plFile
CloseFile(plFile)
EndIf
EndIf
glDBSQLite = OpenDatabase(#PB_Any, #PB_Compiler_FilePath+"PhotosModèles.sqlite", "", "", #PB_Database_SQLite)
If glDBSQLite = 0
MessageRequester("Notysoft Photos Modèles", DatabaseError())
End
ElseIf plFile
psSQLRequest = "CREATE TABLE IF NOT EXISTS contacts ("
psSQLRequest + "id_contacts INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "contact_prenom TEXT Not NULL, "
psSQLRequest + "contact_nom TEXT Not NULL, "
psSQLRequest + "contact_job TEXT, "
psSQLRequest + "contact_company TEXT, "
psSQLRequest + "contact_address_1 TEXT, "
psSQLRequest + "contact_address_2 TEXT, "
psSQLRequest + "contact_address_3 TEXT, "
psSQLRequest + "contact_postalcode TEXT, "
psSQLRequest + "contact_city TEXT, "
psSQLRequest + "contact_country TEXT, "
psSQLRequest + "contact_phone TEXT, "
psSQLRequest + "contact_fax TEXT, "
psSQLRequest + "contact_mail TEXT, "
psSQLRequest + "contact_date_de_naissance TEXT, "
psSQLRequest + "contact_sexe TEXT, "
psSQLRequest + "contact_cheveux TEXT, "
psSQLRequest + "contact_yeux TEXT, "
psSQLRequest + "contact_peau TEXT, "
psSQLRequest + "contact_taille TEXT, "
psSQLRequest + "contact_poids TEXT, "
psSQLRequest + "contact_hanches TEXT, "
psSQLRequest + "contact_loisir TEXT "
psSQLRequest + ")"
psSQLRequest = "CREATE TABLE IF NOT EXISTS factures ("
psSQLRequest + "id_factures INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "facture_Numero_Modele TEXT, "
psSQLRequest + "facture_Numero_Facture TEXT, "
psSQLRequest + "facture_prestation TEXT, "
psSQLRequest + "facture_quantite TEXT, "
psSQLRequest + "facture_commentaires TEXT,"
psSQLRequest + "facture_recommandations TEXT, "
psSQLRequest + "facture_prix_uht TEXT, "
psSQLRequest + "facture_date_reglement TEXT, "
psSQLRequest + "facture_date_execution TEXT, "
psSQLRequest + "facture_conditions_escompte TEXT "
psSQLRequest + ")"
psSQLRequest = "CREATE TABLE IF NOT EXISTS contrats ("
psSQLRequest + "id_contrats INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "contrat_Numero_Contrat TEXT, "
psSQLRequest + "contrat_shooting TEXT, "
psSQLRequest + "contrat_autorisation TEXT, "
psSQLRequest + "contrat_fin_validite TEXT, "
psSQLRequest + "contrat_autres TEXT, "
psSQLRequest + "contrat_pourcentage TEXT, "
psSQLRequest + "contrat_euros TEXT "
psSQLRequest + ")"
psSQLRequest = "CREATE TABLE IF NOT EXISTS seances ("
psSQLRequest + "id_seances INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "Seance_lieux TEXT, "
psSQLRequest + "Seance_tenues TEXT, "
psSQLRequest + "Seance_accessoires TEXT, "
psSQLRequest + "Seance_makeup TEXT, "
psSQLRequest + "Seance_onglerie TEXT, "
psSQLRequest + "Seance_coiffure TEXT, "
psSQLRequest + "Seance_partenariats TEXT "
psSQLRequest + ")"
psSQLRequest = "CREATE TABLE IF NOT EXISTS checkbox ("
psSQLRequest + "id_checkbox INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "Etat_CheckBox_0 INTEGER, "
psSQLRequest + "Etat_CheckBox_1 INTEGER, "
psSQLRequest + "Etat_CheckBox_2 INTEGER, "
psSQLRequest + "Etat_CheckBox_3 INTEGER, "
psSQLRequest + "Etat_CheckBox_4 INTEGER, "
psSQLRequest + "Etat_CheckBox_5 INTEGER, "
psSQLRequest + "Etat_CheckBox_6 INTEGER, "
psSQLRequest + "Etat_CheckBox_7 INTEGER, "
psSQLRequest + "Etat_CheckBox_8 INTEGER, "
psSQLRequest + "Etat_CheckBox_9 INTEGER, "
psSQLRequest + "Etat_CheckBox_10 INTEGER, "
psSQLRequest + "Etat_CheckBox_11 INTEGER, "
psSQLRequest + "Etat_CheckBox_12 INTEGER, "
psSQLRequest + "Etat_CheckBox_13 INTEGER, "
psSQLRequest + "Etat_CheckBox_14 INTEGER, "
psSQLRequest + "Etat_CheckBox_15 INTEGER, "
psSQLRequest + "Etat_CheckBox_16 INTEGER, "
psSQLRequest + "Etat_CheckBox_17 INTEGER, "
psSQLRequest + "Etat_CheckBox_18 INTEGER, "
psSQLRequest + "Etat_CheckBox_19 INTEGER "
psSQLRequest + ")"
psSQLRequest = "CREATE TABLE IF NOT EXISTS contacts_photos ("
psSQLRequest + "id_contacts_photos INTEGER PRIMARY KEY AUTOINCREMENT Not NULL, "
psSQLRequest + "contact_photo BLOB, "
psSQLRequest + "contact_photo_s BLOB, "
psSQLRequest + "contact_photo_size INTEGER,"
psSQLRequest + "contact_photo_s_size INTEGER"
psSQLRequest + ")"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Debug psSQLRequest
If DatabaseUpdate(glDBSQLite, psSQLRequest) = 0
MessageRequester("Notysoft Photos Modèles - DB_Init_Tables()", DatabaseError())
EndIf
EndIf
;If DatabaseQuery(glDBSQLite, "SELECT rowid, facture_Numero_Facture, contact_prenom, contact_nom, contact_job FROM contacts") <> 0
If DatabaseQuery(glDBSQLite, "SELECT rowid, facture_Numero_Facture FROM factures") <> 0 And DatabaseQuery(glDBSQLite, "SELECT rowid, contact_prenom, contact_nom, contact_job FROM contacts") <> 0
While NextDatabaseRow(glDBSQLite)
AddGadgetItem(#Listview_0, CountGadgetItems(#Listview_0), "Facture N°" +GetDatabaseString(glDBSQLite, 1) + " " +GetDatabaseString(glDBSQLite, 2) + " " + GetDatabaseString(glDBSQLite, 3) + " " + GetDatabaseString(glDBSQLite, 4))
SetGadgetItemData(#Listview_0, CountGadgetItems(#Listview_0)-1, GetDatabaseLong(glDBSQLite, 0))
Wend
FinishDatabaseQuery(glDBSQLite)
EndIf
EndProcedure