# -*- coding: iso-8859-1 -*- #. // BA_TestTableUse1.py #. // Test d'utilisation de la table test N° 1. import sys sys.path.append( "modules" ) from _by_datetimeC import by_datetimeC # // Datetime du jour en chaîne au format dd/mm/aaaa hh:mm:ss. from _by_file import by_file # // Savoir si un fichier existe. from _by_UrlToFile import by_UrlToFile # // Convertir un nom de fichier URL en Windows. from _lo_LibreOfficeNew import lo_LibreOfficeNew # // Ouvre Libre Office. from _lo_MakeProperty import lo_MakeProperty # // Créer une propriété Libre Office. from _lo_ShowAllFrames import lo_ShowAllFrames # // Afficher toutes les fenêtres cachées. from _ba_TestCreateTable1 import ba_TestCreateTable1 # // Créer une database N° 1 et sa table pour les essais. from _ba_TestCreateTable1 import cUrlDb1 # // Nom de la database. from _ba_TestCreateTable1 import cTable1 # // Nom de la table. def BA_TestTableUse1(): print() oServiceManager = lo_LibreOfficeNew() if oServiceManager is None: return 1 #. endif oDesktop = oServiceManager.createInstance( "com.sun.star.frame.Desktop" ) if not by_file( by_UrlToFile( cUrlDb1 ) ): print( "Création de la table de test 1\n" ) ba_TestCreateTable1( oServiceManager ) #. endif print( "Nombre de fenêtres L.O. :", lo_ShowAllFrames( oDesktop ) ) print() #. // Ouvre la database. oDoc = oDesktop.loadComponentFromURL( cUrlDb1, "_blank", 0, [] ) oDatasource = oDoc.Datasource oCon = oDatasource.getConnection("","") oStatement = oCon.createStatement() #. // Ouvre la table << cTable1 >> et va en << bof() >>. sSql = "SELECT * FROM " + cTable1 oResult = oStatement.executeQuery( sSql ) nColumns = oResult.Columns.Count print( "Nombre de champs :", nColumns ) #. // Liste toute la table. while oResult.next(): c0 = oResult.Columns.getByIndex( 0 ).getstring() cD = oResult.Columns.getByIndex( 0 ).getdouble() c1 = oResult.Columns.getByIndex( 1 ).getstring() c2 = oResult.Columns.getByIndex( 2 ).getstring() print( c0, "-", cD, "-", c2, "-", c1 ) #. endwhile ''' for i in range( 0, nColumns, 1 ): ccc = oResult.Columns.getByIndex( i ).getstring() # // ok. print( i, ccc ) ''' print() #. // Pour aller en << bof() >>. sSql = "SELECT * FROM " + cTable1 oResult = oStatement.executeQuery( sSql ) #. // Goto 1 ( enregistrement N° 0 en sBase ). oResult.next() c = oResult.Columns.getByName( "NAME" ).getstring() print( c ) print() #. // Enregistrement direct dans la table ( pas de save() ). sSql = "insert into " + cTable1 + " ( NAME, ISREAD ) values ( 'Ligne Test', False )" oResult = oStatement.executeQuery( sSql ) #. // Modification d'une valeur ( goto << ID >> : replace << NAME >> with ... ). sSql = "UPDATE " + cTable1 + " SET NAME='Modifié " + by_datetimeC() + "' WHERE ID=2" oResult = oStatement.executeQuery( sSql ) #. // Liste toute la table dans l'ordre alphabétique( use cTable1 index NAME ). sSql = "SELECT * FROM " + cTable1 + " ORDER BY NAME" oResult = oStatement.executeQuery( sSql ) while oResult.next(): c0 = oResult.Columns.getByIndex( 0 ).getstring() c1 = oResult.Columns.getByIndex( 1 ).getstring() c2 = oResult.Columns.getByIndex( 2 ).getstring() print( c0, "-", c2, "-", c1 ) #. endwhile print() oCon.close() oDoc.close( True ) print( "Nombre de fenêtres L.O. :", lo_ShowAllFrames( oDesktop ) ) oServiceManager = None return 0 BA_TestTableUse1() ''' Dernière modification : 2022-02-23 '''