Newsgroup: it.comp.lang.visual-basic
Titolo: query

Io ho un problema.
Ho creato di messaggisticaun programma che gira in rete.
Quando creo un nuovo mex e percio vado a fare degli INSERT nel database.
Prima di effetuare le modifiche sul database mi sono dichiarato il mio
Workjet e il mio database e nel codice ho inserito Work.beginstrans e
Work commit trans alla fine.
Il mio problema e' che si crea un errore quando vado a calcolare il
codicemessaggio che lo ottengo facendo un calcolo su un Data(questo
probabilmente mi sballa la transazione e se due persone in contemporanea
effettuano un mex succedono dei casini)
Io non so come in Vb si possa fare in modo di utilizzare una SELECT (MAX
nel mio caso) senza utilizzare i data perche usando database.Execute non
mi permette di fare Select.
Grazie in anticipo

 ha scritto nel messaggio
news:3B03F730...@everex.it...



Per tua informazione, visto che ti stanno tanto antipatiche le domande sui
database, si dà il caso che Vb permetta di usare gli oggetti Dao, gli Ado ed
anche Odbc.
Inoltre buona parte dello sviluppo non "giocoso" su Vb ha a che fare con la
gestione dei dati.
Domande sull'uso dei database NON sono OT, come credo che ti potranno
confermare tutti.
Se hai bisogno di pubblicizzare un altro Ng, fai pure, con discrezione
please... , se hai voglia di rispondere -seriamente- anche, sennò non
rompere le...  OOOO
( p.s.
Chiedo scusa a tutti per lo spazio inutile occupato da questa serie di
risposte.)
ciao
ugo

 Io ho un problema.
Confesso, non ci ho capito un accidenti...
Postaci qualche riga di codice...
ciao
ugo

A me basterebbe sapere come faccio a fare una select senza usare il
data.
es:
dim Dbs as database
query = "insert into anagrafica etc....."
dbs.execute query
' e fino a qua mi funziona!
se invece la query e' di selezione mi da errore dicendomi che non puo'
eseguire una query di SELEZIONE!
IO allora sono obbligato ad utilizzare i data con es: data1.recordsource
= "select * etc......"
Grazie


Ciao,
utilizzando DAO ( in ADO non sono molto pratico) puoi gestire il recordset
SQL esattamente come un recordset tabellare.
esempio:
    Dim MioDb As Database, MioSet As RecordSet, SQL As String
    SQL = "SELECT ......." ' la stringa Sql che vuoi
    Set MioDb = OpenDatabase(MioNomeDataBase)
    Set MioSet = MioDb.OpenRecordset(SQL)
    Do While Not MioSet.Eof
        '....
        '.... le operazioni che debbo fare
        '....
        MioSet.MoveNext
    Loop
    MioSet.Close
    MioDb.close
chiaramente nei riferimenti dovrai caricare DAO
beppe
-----------------------------------------------------------
Visita il sito del WWF AltoFerrarese
http://www.comune.cento.fe.it/wwfaf
-----------------------------------------------------------

 = "select * etc......"
ah, allora è semplice.
Quando devi -eseguire- qualcosa su una connection aperta, giustamente usi un
metodo .execute.
Quando devi -selezionare- dei dati, ovvero vuoi avere dei dati in risposta,
devi assegnarli a un recordset.
p.es
 in Ado:
dim rs as new adodb.recordset
rs.open myquery, connection, ...
vedi la guida on-line
se invece usi dao, la sintassi è solo leggermente diversa. Tieni presente
però che Dao è tecnologia morente, mentre Ado ha (o dovrebbe) avere molto
futuro.
ciao
ugo