Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Il martedì 6 novembre 2007 11:48:16 Jack © ha scritto: Paolo Mantovani wrote: 1. Fai la query per creare la tabella (esattamente come fai ora) [] Al momento ho utilizzato un metodo che funziona (ho fatto prove) ma e' al limite del ridicolo, [] Seppur funziona la considero una vaccata, Mi dispiace di averti suggerito una soluzione così orribile, purtroppo quello è stato il massimo che sono riuscito a combinare. l' ideale sarebbe fare come nel primo post ho cercato di fare, ma facendo in un sol botto. Non capisco la questione, spiegati meglio ciao Paolo M - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Paolo Mantovani wrote: 1. Fai la query per creare la tabella (esattamente come fai ora) Esportare con Select INTO TEXT Al momento ho utilizzato un metodo che funziona (ho fatto prove) ma e' al limite del ridicolo, praticamente quando faccio una Select per visualizzare i risultati in un Datagrid prendo la parte della Select FROM..WHERE e la metto in una variabile Stringa Globale per poi inniettarla nella SELECT INTO TEXT. Seppur funziona la considero una vaccata, l' ideale sarebbe fare come nel primo post ho cercato di fare, ma facendo in un sol botto. Ciao Jack P.S. Non sono a conoscenza se e' lecito in ML mandare file in attach se cosi' non e' mi scuso in anticipo con tutti i partecipanti. -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Vendi l'auto? La moto? La barca? Il Camper? Affitti un appartamento? * Per concludere i tuoi affari pubblica gli annunci con AdBoom.it! Facile. Veloce. Gratuito * Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7222d=6-11 Global sSetRicette as String Option Explicit Sub Esporto '__ Dim aUrl As New com.sun.star.util.URL 'aUrl array Dim oUrlTransformer as Object, oBaseContext as Object, oDB as Object, oCon as Object, oStatement as Object Dim oStatement1 as Object, oRS as Object Dim sDoc as String, sQuery as String '__ oBaseContext = CreateUnoService(com.sun.star.sdb.DatabaseContext) oDB = oBaseContext.getByName(MonsterChef) oCon = oDB.getConnection(,) oStatement = oCon.CreateStatement() oStatement1 = oCon.CreateStatement() oUrlTransformer = CreateUnoService(com.sun.star.util.URLTransformer) sDoc = ThisComponent.DrawPage.Forms.getbyname(formRicette).ActiveConnection.Parent.DatabaseDocument.URL aUrl.Complete = sDoc oUrlTransformer.parseStrict(aUrl) ' If Len(sSetRicette) 0 Then oStatement1.execute(DROP TABLE ricette IF EXISTS) If FileExists(aUrl.Protocol aUrl.Path / ricette.csv ) = True Then Kill aUrl.Protocol aUrl.Path / ricette.csv End If If FileExists(aUrl.Protocol aUrl.Path / ricette.dat ) = True Then Kill aUrl.Protocol aUrl.Path / ricette.dat End If Else Msgbox Non hai selezionato nessuna ricetta da esportare, 16, Messaggio Utente Exit Sub End If ' sQuery = SELECT tbricette.Dose, tbricette.TempoPreparazione, tbricette.Titolo,_ tbricette.Ingredienti, tbricette.Preparazione, tbricette.Rating,_ tbricette.Foto, tbricette.idRegione, tbricette.idCategoria,_ tbricette.Favoriti, tbricette.idCuoco INTO TEXT ricette sSetRicette oRS = oStatement.executeQuery(sQuery) Name aUrl.Protocol aUrl.Path / ricette.csv as aUrl.Protocol aUrl.Path / ricette.dat oStatement1.execute(DROP TABLE prova IF EXISTS) oCon.Close End Sub - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Paolo Mantovani wrote: 2. A questo punto, il file csv è stato creato e popolato con i dati. Siccome si tratta di una tabella linkata al database, dovrai copiare o appendere il contenuto in un altro file che avrai creato appositamente. 2. Pensavo semplicemente di rinominare il file :-) eh!! che dici. Nota: per rinominare un file c'e' l' istruzione Name di StarBasic, ed ecco l' esempio tradotto male. Esempio: Sub EsempioRiName .. . Rinominate c:\temp\autoexec.sav come c:\temp\autoexec.bat .. . end sub Al posto di Rinominate :-) Name c:\temp\autoexec.sav As c:\temp\autoexec.dat Name accetta pure gli URL, ottima cosa !! *** Piccola considerazione, perche' e' previsto l' import dei .csv in Calc e non in anche Base. Calc si può interfacciare direttamente al database, ovvero ... Questo è un piccolo esempio: Una versione più completa è qui: http://codesnippets.services.openoffice.org/Calc/Calc.ImportDatabaseContent.snip -8-- Sub ImportDBData() Globalscope.BasicLibraries.loadLibrary(Tools) oCalcDoc = createNewDocument( scalc ) oSheet = oCalcDoc.Sheets(0) Dim mImportDesc(2) As New com.sun.star.beans.PropertyValue mImportDesc(0).Name = DatabaseName mImportDesc(0).Value = nuovoDB mImportDesc(1).Name = SourceType mImportDesc(1).Value = com.sun.star.sheet.DataImportMode.SQL mImportDesc(2).Name = SourceObject mImportDesc(2).Value = SELECT * FROM tabella1 oSheet.getCellRangeByName(A1).doImport(mImportDesc()) End Sub L'esempio non mi funziona, mi ritorna 'Errore durante l' importazione dei dati', al posto di tabella1 ho messo la mia tabella da esportare. Ciao Jack -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Devi vendere qualcosa? Pubblica in un colpo le tue inserzioni sui principali siti web e sulle più importanti riviste di annunci! * AdBoom.it: MASSIMA VISIBILITA', MINIMO SFORZO * Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7223d=5-11 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Il lunedì 5 novembre 2007 16:13:38 Jack © ha scritto: [] Sub ImportDBData() [...] End Sub L'esempio non mi funziona, mi ritorna 'Errore durante l' importazione dei dati', al posto di tabella1 ho messo la mia tabella da esportare. non saprei, hai una tabella con più di 64 mila records? oppure più di 256 campi? ciao paolo M - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Paolo Mantovani wrote: Il lunedì 5 novembre 2007 16:13:38 Jack © ha scritto: L'esempio non mi funziona... non saprei, hai una tabella con più di 64 mila records? oppure più di 256 campi? Naturalmente no, in caso l'avrei spezzata su piu' tabelle. Ciao Jack -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: In REGALO 'All the Good Thing' di NELLY FURTADO Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=6617d=6-11 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Paolo Mantovani wrote: Comunque.. non è (a mio parere) la scelta ottimale. Infatti, questa tecnica confida in alcune direttive SQL particolari e presenti solo nel motore HSQLDB. Non è un buon design per la tua applicazione (sempre a mio parere) Si, si, concordo, neppure a me piace molto come soluzione al di la che sia legata a HSQLDB. Se non fosse che hai scartato la possibilità Calc fin da subito, ti avrei suggerito proprio quella. ma perchè Calc no? Premesso che valuto anche questa possibilita' e che e' un peccato non sfruttare l' integrazione dei moduli OOo, pero' vorrei fare tutto con Base, l' utente fa click ed Esporta, click e Importa, fine, al massimo deve vedere una ProgressBar che avanza, nulla piu'. I fogli di calcolo li valuto solo per farci grafici, un peccato che in Base non c'e' un Controllo per generare grafici. :-) Vabbe' chiudo, le possibilita' me le hai esposte e piu' o meno ho capito come fare, molte grazie per esserti interessato. Ciao Jack -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Utilizza l'email marketing di Email.it, oltre 2 milioni di utenti registrati tra cui trovare i tuoi futuri clienti Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7148d=4-11 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Il domenica 4 novembre 2007 09:52:04 Jack © ha scritto: [...] Premesso che valuto anche questa possibilita' e che e' un peccato non sfruttare l' integrazione dei moduli OOo, pero' vorrei fare tutto con Base, l' utente fa click ed Esporta, click e Importa, fine, al massimo deve vedere una ProgressBar che avanza, nulla piu'. Beh, per quello basta lavorare con dei documenti nascosti. ciao Paolo M - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Ciao Jack, Il venerdì 2 novembre 2007 13:06:36 Jack © ha scritto: [] Ok ora il problema è chiaro. Siccome sono una schiappa in sql mi sono andato a vedere un po' di reference sul sito di hsqldb: http://hsqldb.org/doc/guide/ch09.html Confesso che non è stato semplicissimo, ho dovuto fare un po' di prove, ma alla fine credo di aver capito come stanno le cose. Riepilogando: a) HSQLDB è in grado di gestire vari tipi di tabelle: MEMORY, CACHED, TEMPORARY, TEMP, TEXT CACHED è il tipo di tabella di default usato in OOoBase. questo tipo di tabelle viene poi salvata al'inetrno del file ODB TEXT è una tabella in formato testo (csv) che viene mantenuta all'esterno del file ODB, ma si tratta pur sempre di una vera e propria tabella del database, per cui se viene cancellata accidentalmente, all'avvio del database viene ricreata (vuota) b) quando nella tua macro dai il comando (ho semplificato per fare l'esempio): sQuery = SELECT * INTO TEXT filecsv FROM tabella1 oRS = oStatement.executeQuery(sQuery) in effetti, HSQLDB crea una nuova tabella di tipo TEXT e ci riversa i dati che risultano dalla query. A differenza del comando SELECT INTO OUTFILE ... di MySQL quindi, in questo caso non abbiamo un'esportazione di dati ma la creazione di una nuova tabella esterna in formato testo-csv che è linkata al database. Infatti, se dopo aver dato il comando di cui sopra aprirai il file ODB potrai vedere le la nuova tabella elencata tra le altre (ma con un'icona diversa) Se non è visibile, dovrebbe essere sufficiente fare: menu Visualizza-Aggiorna tabelle c) tutto questo premesso, credo di poter dire che il problema da te riscontrato non è dovuto ad un malfunzionamento ma ad un uso improprio di una funzionalità peculiare offerta da HSQLDB d) Ho elaborato una possibile soluzione. L'idea è questa: 1. Fai la query per creare la tabella (esattamente come fai ora): oRecordSet = oStatement.executeQuery( _ SELECT * INTO TEXT mytemptable FROM tabella1) 2. A questo punto, il file csv è stato creato e popolato con i dati. Siccome si tratta di una tabella linkata al database, dovrai copiare o appendere il contenuto in un altro file che avrai creato appositamente. Non ti metto nessun esempio di codice perchè immagino che tu sappia come fare, però in caso di dubbi: sine qua non - siamo qua noi (come dicevano al Bar Sport ;-) 3. Ora è il momento di fare pulizia: oStatement.execute(DROP TABLEmytemptable IF EXISTS) In questo modo il file non è più linkato al database, ma comunque non è stato eliminato dal file system, perciò dovrai farlo manualmente, diversamente, la prossima volta che creerai la tabella si genererà un errore. (esempio stupido): kill file:///home/paolo/mytemptable.csv Ovviamente tu dovrai eliminare il file in un modo più intelligente, in particolare dovrai ricavare il path del file csv dal path del documento Base e magari fare anche un controllo di esistenza del file prima di eliminarlo. Ricorda che il nome del file creato non è sempre identico al nome usato nella query (nome nuova tabella), in particolare, il file è sempre in minuscolo, anche se il nome della nova tabella contiene maiuscole, inoltre, tutti i caratteri non alfanumerici nel nome della tabella vengono tradotti come sottotratti (_) Ad esempio, la query: SELECT * INTO TEXT My Temp-Table ... eccetera crea il file: my_temp_table.csv Comunque, arrivato a questo punto il tuo DB è pulito e lindo come all'inizio e sei pronto per una nuova operazione. spero di essere stato aiutevole ciao Paolo M - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Paolo Mantovani wrote: L'idea è questa: A me pero' sorge un ragionevole dubbio, esporto una tabella ma poi devo importare i dati contenuti in un' altra tabella presente nel DB, non e' che poi importo l' intera tabella esterna e me la ritrovo interna. Con mysql mi sono servite solo poche righe di codice per fare ste cose ma mi sa che con HSQL mi sto incartando, ho scaricato un manuale HSQL ma non ho visto la possibilita' di fare Select into outfile... 1. Fai la query per creare la tabella (esattamente come fai ora): oRecordSet = oStatement.executeQuery( _ SELECT * INTO TEXT mytemptable FROM tabella1) 1. I record da inserire sono frutto di un risultato di un 'altra query, quindi serve un modo per farlo in un colpo solo. 2. A questo punto, il file csv è stato creato e popolato con i dati. Siccome si tratta di una tabella linkata al database, dovrai copiare o appendere il contenuto in un altro file che avrai creato appositamente. 2. Pensavo semplicemente di rinominare il file :-) eh!! che dici. 3. Ora è il momento di fare pulizia: oStatement.execute(DROP TABLEmytemptable IF EXISTS) Ottimo, semplice, efficace. In questo modo il file non è più linkato al database, ma comunque non è stato eliminato dal file system, perciò dovrai farlo manualmente, diversamente, la prossima volta che creerai la tabella si genererà un errore. (esempio stupido): kill file:///home/paolo/mytemptable.csv Se rinimino il file questo passaggio lo salto Ovviamente tu dovrai eliminare il file in un modo più intelligente, in particolare dovrai ricavare il path del file csv dal path del documento Base e magari fare anche un controllo di esistenza del file prima di eliminarlo. Beh!! il path del documento ormai ho impararto a ricavarlo, se ne parlava qualche tempo fa' sul NG. Penso che mi servira' se rinomino il file. Ricorda che il nome del file creato non è sempre identico al nome usato nella query (nome nuova tabella), in particolare, il file è sempre in minuscolo, anche se il nome della nova tabella contiene maiuscole, inoltre, tutti i caratteri non alfanumerici nel nome della tabella vengono tradotti come sottotratti (_) Ad esempio, la query: SELECT * INTO TEXT My Temp-Table ... eccetera crea il file: my_temp_table.csv Buono a sapersi. Comunque, arrivato a questo punto il tuo DB è pulito e lindo come all'inizio e sei pronto per una nuova operazione. Speremus, sta cosa mi sfava parecchio ( sfavare = piacere molto) dare la possibilita' di scambiarsi le ricette mi sembra una cosa utile e carina. spero di essere stato aiutevole Che dire, essenziale e' dire poco visto che in questi anni gli inghippi me li hai risolti tu. Molte grazie Jack -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Pubblicita' con l'email marketing a soli 250 Euro! Prova il servizio di Email.it gli specialisti del settore Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7179d=3-11 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Ciao, Il sabato 3 novembre 2007 21:00:07 Jack © ha scritto: Paolo Mantovani wrote: L'idea è questa: A me pero' sorge un ragionevole dubbio, esporto una tabella ma poi devo importare i dati contenuti in un' altra tabella presente nel DB, non e' che poi importo l' intera tabella esterna e me la ritrovo interna. ?? non ho capito... Con mysql mi sono servite solo poche righe di codice per fare ste cose ma mi sa che con HSQL mi sto incartando, ho scaricato un manuale HSQL ma non ho visto la possibilita' di fare Select into outfile... Infatti anche a me pare che non ci sia questa possibilità. 1. Fai la query per creare la tabella (esattamente come fai ora): oRecordSet = oStatement.executeQuery( _ SELECT * INTO TEXT mytemptable FROM tabella1) 1. I record da inserire sono frutto di un risultato di un 'altra query, quindi serve un modo per farlo in un colpo solo. Di nuovo non capisco: Io ho abbreviato la tua query solo per semplificare, ma nulla ti vieta di aggiungere una clausola WHERE o anche altro. 2. A questo punto, il file csv è stato creato e popolato con i dati. Siccome si tratta di una tabella linkata al database, dovrai copiare o appendere il contenuto in un altro file che avrai creato appositamente. 2. Pensavo semplicemente di rinominare il file :-) eh!! che dici. 3. Ora è il momento di fare pulizia: oStatement.execute(DROP TABLEmytemptable IF EXISTS) Ottimo, semplice, efficace. In questo modo il file non è più linkato al database, ma comunque non è stato eliminato dal file system, perciò dovrai farlo manualmente, diversamente, la prossima volta che creerai la tabella si genererà un errore. (esempio stupido): kill file:///home/paolo/mytemptable.csv Se rinimino il file questo passaggio lo salto Si, certamente. Il mio era solo un esempio schematico, tanto per dare l'idea. [...] Beh!! il path del documento ormai ho impararto a ricavarlo, se ne parlava qualche tempo fa' sul NG. Penso che mi servira' se rinomino il file. si, ti serve in ogni caso. [...] Comunque, arrivato a questo punto il tuo DB è pulito e lindo come all'inizio e sei pronto per una nuova operazione. Speremus, sta cosa mi sfava parecchio ( sfavare = piacere molto) dare la possibilita' di scambiarsi le ricette mi sembra una cosa utile e carina. Beh, io ho fatto dei test con un database minimale e tutto ha funzionato, Comunque, anche se questa strada funziona ed è relativamente semplice, non è (a mio parere) la scelta ottimale. Infatti, questa tecnica confida in alcune direttive SQL particolari e presenti solo nel motore HSQLDB. Questo rende il tuo codice legato ad un tipo particolare di database con tutte le conseguenze del caso. Non è un buon design per la tua applicazione (sempre a mio parere) Se non fosse che hai scartato la possibilità Calc fin da subito, ti avrei suggerito proprio quella. ma perchè Calc no? Calc si può interfacciare direttamente al database, ovvero puoi assegnare il risultato di una query ad un range di celle, dopodiché hai un mondo di possibilità al prezzo di pochissime linee di codice: Puoi esportare in csv ma anche formattare a tuo piacere ed esportare verso PDF o qualsiasi altro formato gestito da Calc. Non mi pare poco. Questo è un piccolo esempio: Una versione più completa è qui: http://codesnippets.services.openoffice.org/Calc/Calc.ImportDatabaseContent.snip -8-- Sub ImportDBData() Globalscope.BasicLibraries.loadLibrary(Tools) oCalcDoc = createNewDocument( scalc ) oSheet = oCalcDoc.Sheets(0) Dim mImportDesc(2) As New com.sun.star.beans.PropertyValue mImportDesc(0).Name = DatabaseName mImportDesc(0).Value = nuovoDB mImportDesc(1).Name = SourceType mImportDesc(1).Value = com.sun.star.sheet.DataImportMode.SQL mImportDesc(2).Name = SourceObject mImportDesc(2).Value = SELECT * FROM tabella1 oSheet.getCellRangeByName(A1).doImport(mImportDesc()) End Sub -8-- ciao Paolo M - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Paolo Mantovani wrote: Ciao Jack, Ho fatto questo tentativo sperando di poter aggiungere al file .csv un record per volta, ma la cosa non funziona, una volta creato il file non e' piu' possibile aggiungere record. Quindi la tua macro funziona ma solo per la prima chiamata? Funziona la prima volta, poi alla seconda rimanda un errore di file gia presente. Aggiungo, noto una cosa strana nei file .odb, come prova ho lanciato questo, SELECT * INTO TEXT MioExportRicette FROM tbricette in questo modo exporto tutte le ricette e la cosa va a buon fine, pero' non potro' piu' usare il nome file MioExportRicette anche se cancello nel FileSystem il file, altrimenti ritorna il famoso errore di file gia presente, cambio nome in Pippo.csv, poi in Pluto.csv, poi in Minni.csv Bene questi nomi file, MioExportRicette, Pippo.csv, Pluto.csv, Minni.csv rimangono memorizzati nel file .odb e non potranno essere _MAI_ piu' usati. Ecco una immagine dell' errore quando tento di aggiungere al file .csv un secondo record o quando utilizzo un nome file gia usato anche se cancellato nel F.S., devo sempre per forza generare un nome file mai usato. http://img406.imageshack.us/img406/912/imgerrorepn6.png Una immagine del fileSystem, occhio ai file con estensioni .csv, quei file sono prove fatte nei giorni scorsi, se li elimino vengono ricreati automaticamente al lancio della macro anche se arriva l' errore sopra quei file vengono generati automaticamente, e i loro nomi sono presenti nel .odb http://img217.imageshack.us/img217/957/imgcsvoe6.png Per soluzioni alternative. Passare da Calc non lo voglio fare, voglio (vorrei) automatizzare la cosa senza alcun smanettamento da parte degli utenti, dove posso preferisco essere io a gestire le operazioni. Un' alternativa e' utilizzare i file Random a cui sono piu' affezionato, se possibile pero' preferisco .csv . Ciao Jack -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Vuoi un prestito fino a 30.000 Euro? Clicca qui per un preventivo immediato! Prometeo ti propone prestiti personali senza attese e senza spese. * Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7161d=2-11 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [utenti] [Base - HSQLDB] Esportare record in un file csv
Ciao Jack, Il mercoledì 31 ottobre 2007 21:31:46 Jack © ha scritto: Premessa, ho un db di ricette e visualizzo i risultati di una query di selezione in un Datagrid. Vorrei poter dare la possibilita' di esportare i record restituiti dalla query e visualizzati nel datagrid in un file .csv ok è chiaro. Ho fatto questo tentativo sperando di poter aggiungere al file .csv un record per volta, ma la cosa non funziona, una volta creato il file non e' piu' possibile aggiungere record. Quindi la tua macro funziona ma solo per la prima chiamata? Es.. non funzionante E allora perchè adesso scrivi che non funziona? Non funziona per niente o funziona solo per la prima chiamata? [...] sQuery= SELECT * INTO TEXT MioExportRicette FROM tbricette perdona la mia ignoranza, ma pensavo che si usasse select * into outfile 'nomefile' per l'esportazione dei dati. select into text è la stessa cosa? [...] Bene, spero di essermi spiegato in modo dignitoso, vengo alla domanda, c'e' modo di usare SELECT * INTO TEXT per generare in un sol botto il file .csv con una selezione di record ? Come ho detto non mi è molto chiaro cosa va storto e in che modo. Ho la vaga impressione che sotto sotto ci sia un problema di file lock In questo caso dovresti realmente assicurarti di mettere i dati nel file in una sola istruzione e non con un ciclo Ma prima di mettermi a suggerire soluzioni ad capocchiam mi piacerebbe capire meglio i termini del problema ciao Paolo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[utenti] [Base - HSQLDB] Esportare record in un file csv
Premessa, ho un db di ricette e visualizzo i risultati di una query di selezione in un Datagrid. Vorrei poter dare la possibilita' di esportare i record restituiti dalla query e visualizzati nel datagrid in un file .csv Ho fatto questo tentativo sperando di poter aggiungere al file .csv un record per volta, ma la cosa non funziona, una volta creato il file non e' piu' possibile aggiungere record. Es.. non funzionante '___ Sub Esporta '___ Dim oBaseContext as Object, oDB as Object, oCon as Object, oStatement as Object, oRecordSet as Object '___ oBaseContext = CreateUnoService(com.sun.star.sdb.DatabaseContext) oDB = oBaseContext.getByName(MonsterChef) oCon = oDB.getConnection(,) oStatement = oCon.CreateStatement() for conta = 3 to 10 step 1 sQuery= SELECT * INTO TEXT MioExportRicette FROM tbricette Where tbricette.idRicetta = ' conta ' oRecordSet = oStatement.executeQuery(sQuery) Next End Sub ' Il ciclo For e' solo per fare una prova, nella realta il valore idRicetta lo ricavo dalla colonna del datagrid. Bene, spero di essermi spiegato in modo dignitoso, vengo alla domanda, c'e' modo di usare SELECT * INTO TEXT per generare in un sol botto il file .csv con una selezione di record ? Ciao Jack -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Sviluppa il tuo business e trova nuovi clienti con il Direct Email Marketing di Email.it, la strategia vincente per rafforzare la tua impresa! * Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7147d=31-10 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]