Aider moi à créer un setup pour une application contenant une bd Access

nouya Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 17 août 2012 - 21 janv. 2010 à 00:05
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 - 26 janv. 2010 à 00:11
Salut à ts;
je viens de construire mon premeier projet en vb.net; c'est une application contenant une bd Access. Tout va bien, au niveau de la conception qu'au niveau de l'execution.
Mais lorsque je fais le setup et après l'installation, je lance mon application, hop! il'y a un pb; message "une exception non gérée s'est produite dans votre application...".
est que quelqu'un peut me guider au remède! cest gentillllll...

14 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 janv. 2010 à 08:54
ben, gère l'exception, ou règle la source de celle-ci ^^

(ou donne nous des details sur l'exception et l'endroit où elle se produit)

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
nouya Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 17 août 2012
21 janv. 2010 à 23:21
Merci pour tes remarques. Mais j'ai dit qu'au niveaux de la conception de l'application tout va bien, je peux executer mon application en conectant bd, et toute l'application marche normale.
le pb se passe après la création de setup et l'execution, c'est pour cela j'ai pas pu gérer la conception.
je signale même que ma bd est réferenciée au setup
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 janv. 2010 à 00:00
impossible de t'aider davantage sans des détails sur le code incriminé ou sur l'exception

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
23 janv. 2010 à 04:58
Oui c'est vrai il faudrait un bout de ton code pour pouvoir mieux t'aider.

Sinon es tu sur qu'au moment du déploiement de ton logiciel avec sa base le chemin est correct et quel OS utilises tu SEVEN VISTA XP et la version 32 ou 64 bits ?

Si ton OS est du 64 bits il te faut faire une compilation explicitement 32 bits (x86) car les pilotes pour gérer une base access n'existe qu'en 32 bits et ne plus compiler en AnyCPU.

En attendant d'en savoir plus


bidouille007
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nouya Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 17 août 2012
23 janv. 2010 à 15:34
le code si dessous est asseigné à 1 bouton de command pour nettoyer les tables. bien sur après la déclaration des varibles et importation des librairies:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim sql As String = "select * from resultas_de"
'resulta_de est table de bd

cn = New OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\tables des resultats.mdb;")
'table des resultas.mdb c ma bd
datset = New DataSet
sqlcommand = New OleDb.OleDbCommand
dataadapter = New OleDb.OleDbDataAdapter(sql, cn)
sqlcommand.Connection = cn
sqlcommand.CommandType = CommandType.Text
'pour nettoyer la table resultas_de
sqlcommand.CommandText = "delete * from resultats_de"
cn.Open()
sqlcommand.ExecuteNonQuery()
datset.Clear()
cn.Close()
'pour nettoyer la table frequence_de
sql = "select * from frequence_de"
dataadapter1 = New OleDb.OleDbDataAdapter(sql, cn)
sqlcommand.CommandText = "delete * from frequence_de"
cn.Open()
sqlcommand.ExecuteNonQuery()
datset.Clear()
cn.Close()
'pour nettoyer la table resultas_monais
sql = "select * from resultats_monais"
dataadapter2 = New OleDb.OleDbDataAdapter(sql, cn)
sqlcommand.CommandText = "delete * from resultats_monais"
cn.Open()
sqlcommand.ExecuteNonQuery()
datset.Clear()
cn.Close()
'pour nettoyer la table frequence_monais
sql = "select * from frequence_monais"
dataadapter3 = New OleDb.OleDbDataAdapter(sql, cn)
sqlcommand.CommandText = "delete * from frequence_monais"
cn.Open()
sqlcommand.ExecuteNonQuery()
datset.Clear()
cn.Close()
end sub

Je signale que j'utilise vista
0
nouya Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 17 août 2012
24 janv. 2010 à 00:21
En suivant les conseils de Mr Renfield; Aprés avoir géré l'exeption, j'obtiens 2 messages le 1er: impossible de supprimer dans les tables spécifiées. le 2eme:L'opération doit utiliser une requete qui peut etre mis à jour.
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
24 janv. 2010 à 00:30
Oki pour le code

L'erreur apparait à quel endroit du code ?

Par ailleurs avec quel outil fais tu ton setup ?


bidouille007
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
24 janv. 2010 à 00:56
je me demande à quoi sert ta commande datset.Clear()

dans les déclarations c'est OK ces deux variables ?
Public commandSQL As New OleDbCommand c'est oki pour ca

Public ConnexionOLE As OleDbConnection c'est ok pour ca aussi

moi je fais comme ca pour executer mes commandes ?

commandSQL.CommandText = commande
commandSQL.Connection = ConnexionOLE
commandSQL.ExecuteNonQuery()

dernière idée pourquoi ouvrir et fermer sans cesse la base access ca te fait perdre du temps à chaque fois et comme tes commandes s'enchainent j'en vois pas trop l'interet ?

bidouille007
0
nouya Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 17 août 2012
24 janv. 2010 à 21:30
La première erreur apparait après la command datset.clear() utilisée pour supprimer des enregistrements de la table.La deuxième apparait dans un autre form, là ou j'inscrit des données dans ma bd. voici le code:

'Try
sqlcommand = New OleDb.OleDbCommand
sqlcommand.Connection = cn
sqlcommand.CommandText = "insert into resultats_de values ('" & i - 1 & "','" & i1 & "','" & i2 & "','" & i3 & "','" & i4 & "','" & i5 & "','" & i6 & "')"
cn.Open()

sqlcommand.ExecuteNonQuery()
'Catch ex As OleDbException
' MsgBox(ex.Message)
' Finally
cn.Close()

'End Try
Pour l'outil j'ai essaier avec vb.net 2008; inno setup et setup factory 8
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
24 janv. 2010 à 23:39
Merci de tes précisions mais je ne vois pas l'interet pour toi de faire la connexion à ta base à chaque fois, et pour utiliser une bdd access dans un projet VB.net je n'ai jamais fait de dataset.clear() donc essayes ton code en supprimant la chose.

Quant à l'ajout des données dans ta table, j'ai l'impression qu'il manque le nom des champs de ta table entre le nom de ta table et VALUES

En espérant que ca t'aide

bidouille007
0
nouya Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 17 août 2012
25 janv. 2010 à 00:04
Je vois bien la sérieusité de vouloir m'aider, merci... Pour la multi conection je tiendrai ça à la considération. Pour la command datset.clear() je l'utilise pour suprimer tous les enregistrements à la fois (datset c un objet de type dataset), et ça marche au compilation
Quant à l'ajout des données je pense pas la manque des champs sinon l'application ne s'executra jamais au niveau de la compilation.
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
25 janv. 2010 à 00:15
je dis pas mais moi je ne l'utilise pas pour ca que je m'étonne

l'ajout de tes données c'est une commande SQL donc ca ne gene pas la compilation de VB d'autant plus que le commande est une chaine string

bidouille007
0
nouya Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 17 août 2012
25 janv. 2010 à 20:19
Et alors d'ou viennenet ces erreurs, puisque j'obtiens tous ce que je veux au niveau de la compilation
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
26 janv. 2010 à 00:11
Je crois nouya que tu n'as pas du lire le tuto sur l'exploitation d'une base access au travers de vb.

Sinon saches que tes commandes SQL ne sont pas du tout contrôle par VB et c'est seulement à l'exécution de ton code que les commandes SQL sont interprétées pas avant.


bidouille007
0
Rejoignez-nous