Tester la validité d'une requete sans l'exécuté

cs_mimimati Messages postés 19 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 29 août 2005 - 8 août 2005 à 14:01
cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008 - 8 août 2005 à 17:50
Je suis entrain de construire un requeteur. Les requetes que je génère ne sont que des updates.
Une fois la chaine sql généré, j'aimerai pouvoir tester via vb, si la requete est valide, mais sans l'executé, car en l exécutant elle mettrai les données a jour, alors que doit etre fait ultérieurement.

4 réponses

cs_Sp00ky Messages postés 112 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 20 novembre 2006 1
8 août 2005 à 16:56
Si ce n'est que pour la période de création du programme, histoire d'etre sur que tes requetes fonctionnent sans toucher a la bdd pour l'instant, tu peux simplement créer une ou des bases supplémentaires sur lesquelles tu effectues tes tests non ?

D'ailleurs, même si c'est pour le prog final, tu peux aussi utiliser une base pour vérifier la requete, et une base pour l'exécuter si la requete est bonne.



<HR>

$p00ky
______________________________________________
.:: KoC-FR ::. Alliance Francophone Kings of Chaos
Venez jouer au meilleur MMORPG gratuit et facile !</FON< body>
0
cs_mimimati Messages postés 19 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 29 août 2005
8 août 2005 à 17:06
ouais, c'est la seule solution que j'ai trouvé, j'ai creer une table bidon qui ne craint rien dans ma bdd, sur laquel je teste mes requetes.
0
cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008
8 août 2005 à 17:40
tu peut utiliser les transactions pour faire se que tu veux

les transactions ca permet d'effectuer plusieur requete en meme temps.



les requetes apres begintrans ne s'effectue qu'apres un cn.CommitTrans
un RollBackTrans permet d'annuler tous les requetes apres begintrans



d'ou la fonction



Private Function TestSql() As Boolean





Dim cn As New ADODB.Connection

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist
Security Info=False;Data Source=C:\Program Files\Microsoft Visual
Studio\VB98\Biblio.mdb"

cn.Open



On Error GoTo SqlFaux

cn.BeginTrans



cn.Execute (MonSql)





cn.RollbackTrans



TestSql = True

Exit Sub

SqlFaux:

cn.RollbackTrans

TestSql = False

End Function




Hassen TUNISIE
0
cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008
8 août 2005 à 17:50
excuse moi j'ai oublier l'argument



Private Function TestSql(MonSql as String) As Boolean





Dim cn As New ADODB.Connection


cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist
Security Info=False;Data Source=C:\Program Files\Microsoft Visual
Studio\VB98\Biblio.mdb"

cn.Open



On Error GoTo SqlFaux

cn.BeginTrans



cn.Execute (MonSql)





cn.RollbackTrans



TestSql = True

Exit Sub

SqlFaux:

cn.RollbackTrans

TestSql = False

End Function


Hassen TUNISIE
0
Rejoignez-nous