Exception relevé dans une requête [Résolu]

cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 14 juil. 2015 à 22:11 - Dernière réponse : cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention
- 14 juil. 2015 à 23:18
Bonjour,

La requête

Public Sub InsertPlayer(ByVal FamillyName As String)

Dim command As New OleDbCommand
command.Connection = Connection
command.CommandText = "INSERT INTO Player (Name) VALUES ([?]);"
command.Parameters.Add("?", OleDbType.BSTR).Value = FamillyName
Try
command.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub


J'ai crée un setup d'installation qui installe le shorcut exe dans le user's desktop. La bdd (mdb) est placé dans un folder nommé auxfile crée lors de l'installation.

le problème surgit si j'installe le fichier msi dans le folder C:\Program Files (x86) ou C:\Program Files ;
L'installation se fait correctement mais ensuite je lance l'exe et la une erreur
Si j'installe dans un autre folder aucun problème
vraiment dans le brouillard

merci
Afficher la suite 

Votre réponse

7 réponses

ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 14 juil. 2015 à 22:19
0
Utile
Bonjour,
Avec certains OS, l'installation dans le répertoire C:\Program Files est protégée et nécessite de se faire "en tant qu'administrateur"
Commenter la réponse de ucfoutu
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 14 juil. 2015 à 22:26
0
Utile
Bonjour

Oui et Depuis Vista, le dossier Program files (son homologue Program Files (x86) ), ses dossiers et les fichiers y étant sont en lecture seule en exécution normale

Est que je peux forcer l'installation dans un dossier fixe que je crée
pendant l'installation ex C:\Jeux
ou faut il laisser libre choix au client ?
Commenter la réponse de cs_ShayW
NHenry 14172 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 19 mai 2018 Dernière intervention - 14 juil. 2015 à 22:32
0
Utile
Il y a aussi la solution de mettre le fichier de base de données dans le dossier %appdata% de l'utilisateur, mais cela fera que chaque utilisateur aura un fichier différent.

Forcer le dossier n'est pas toujours bon, certaines personnes (certes rare) peuvent avoir le disque système en D: et non en C:.

A toi de voir.
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 14 juil. 2015 à 22:45
Bonjour, NHenry,

certaines personnes (certes rare) peuvent avoir le disque système en D: et non en C:.

Sous VBH6, j'utilise par prudence la fonction Environ
L'équivalent VB.Net semble être ===>>
https://msdn.microsoft.com/fr-fr/library/system.environment%28v=vs.110%29.aspx
NHenry 14172 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 19 mai 2018 Dernière intervention - 14 juil. 2015 à 22:55
Commenter la réponse de NHenry
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 14 juil. 2015 à 23:11
0
Utile
Bonsoir
le code de la db

 Dim path As String
path = Application.StartupPath & "\auxfile\db1.mdb"
Dim base As String = "provider=microsoft.jet.oledb.4.0;data source=" & path

si je place la bdd dans %appdata% que faut il écrire
path = ?
Commenter la réponse de cs_ShayW
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 14 juil. 2015 à 23:18
0
Utile
j'ai trouvé

  path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Commenter la réponse de cs_ShayW

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.