Base de donnée en .net

Résolu
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 - 22 nov. 2006 à 00:33
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 - 22 nov. 2006 à 12:54
Bonjour, je voulais savoir si il y avait une possibilité de modifier une base de donnée access sans passer par un dataset...

Je m'explique avant sur vb6 (avec adobd), je modifiais ma base de donnée avec une simple requete sql...

par exemple :   
requete =  "UPDATE film SET  nom=" & nom & " WHERE code=" & codefilm
                DB.Execute requete

Maintenant, la méthode que j'ai trouvé (avec oledb sur vb2005) requiert non seulement une requete sql mais aussi le passage de l'ensemble de la base de donnée dans un dataset ce qui ralenti énormément mon appli et qui en plus consomme pas mal de RAM...

par exemple :
requete = "UPDATE film SET  nom=" & nom & " WHERE code=" & codefilm
                DataAdapter = New OleDb.OleDbDataAdapter(requete, connection)
                dataset.Clear()
                DataAdapter.Fill(dataset)
                DataAdapter.Update(dataset)

2 réponses

lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
22 nov. 2006 à 01:41
Bon est bin avec un peu de recherche j'ai trouvé ça :

sql = "UPDATE film SET " & "chemin=""" & chemin & """ WHERE code=" & code & ""
dataadaptater = New OleDb.OleDbDataAdapter(sql, con)
dataset.Clear()
dataadaptater .Fill(dataset)
dataadaptater .update(dataset)

est équivalent à :

sql = "UPDATE film SET " & "chemin=""" & chemin & """ WHERE code=" & codefilm & ""
oledbcommand = New OleDb.OleDbCommand(sql, con)
oledbcommand.ExecuteNonQuery()

----------------------------------------

Mais maintenant je cherche a savoir comment récupérer la variable nouv de cette requete par le biais de oledbcommand

sql = ("SELECT max(code) as nouv from film")
oledbcommand = New OleDb.OleDbCommand(sql, con)

oledbcommand.ExecuteNonQuery()

max_code = ????

Voila, si vous avez une idée !! je prends
3
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
22 nov. 2006 à 12:54
Bin voila j'ai trouvé la réponse à la question :
comment récupérer la variable nouv de cette requete par le biais de oledbcommand ?

sql = ("SELECT max(code) from film")
oledbcommand = New OleDb.OleDbCommand(sql, con)
max_code = oledbcommand.executescalar

J'espère que ça servira à certain !!
3
Rejoignez-nous