VB.Net Ado.Net Création d'une Table Bug ?

Résolu
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 9 nov. 2009 à 19:14
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 10 nov. 2009 à 08:58
Bonjour à tous

J'essais de me créer une Table dans un Fichier Acces.

J'utilise mon code mais rien ne fonctionne. J'ai donc fouillé un peu pour trouver un code qui ne fonctionne pas tout à fait et je ne réussi pas à corriger le problème.

J'ai un message d'erreur à la ligne myComm.ExecuteNonQuery() qui dit:
Erreur de syntaxe dans l'instruction CREATE TABLE.

Qu'est ce que je ne fait pas de correct ??

Merci de votre aide

Dim myReader As OleDbDataReader = Nothing
            Dim myConn As OleDbConnection = Nothing
            Dim myComm As OleDbCommand = Nothing

            ' Enregistrement de la requete SQL sous la forme d'une chaine de caractères()
            Dim strSQL As [String] = "CREATE TABLE '%" & txtDossier.Text & "%' (Lot  Text)"

            ' on enregistre l'emplacement de la base de donnée 
            'myConn = New OleDbConnection("Data Source=\My Documents\maBase.sdf")
            myConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Recherche.mdb")

            ' Création d'un objet SqlCeCommand permetant de passer des commandes SQL 
            myComm = New OleDbCommand(strSQL, myConn)

            ' Ouverture de la connexion à la base 
            myConn.Open()

            ' exécution de la commande 
            myComm.ExecuteNonQuery()
            ' fermeture de la connexion à la base 
            myConn.Close()

19 réponses

cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
9 nov. 2009 à 22:18
Voilà la solution..

même si ce n'est pas toi qui a trouvé la solution.. merci mille fois

Dim strSQL As String = "CREATE TABLE [" & txtDossier.Text & "] (Lot Text(50), Acheteur Text(50))"
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 19:24
Essaye Dim strSQL As [String] = "CREATE TABLE '" & txtDossier.Text & "'"

je pense que ça ira mieux



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 19:25
Oups pardon !

Dim strSQL As String = "CREATE TABLE " & txtDossier.Text


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
9 nov. 2009 à 19:51
Bonjour...
Effectivement, ca fonctionne mais je n'ai aucune colonne de créer..

Comment faire pour créer mes colonnes ?? et pourquoi ma requête SQL ne réussis pas à créer les colonnes..


merci de ton aide
0

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

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 19:55
"Comment faire pour créer mes colonnes ?? et pourquoi ma requête SQL ne réussis pas à créer les colonnes.. "

Heu... je veux bien mais la quand même il faut faire un effort !

Réfléchi 5 petites minutes... Comment crois-tu qu'il va te créer les colonnes ? Par l'opération du St Esprit ? Quelles colonnes? Il ne peut pas plus te les créer que moi, si tu ne lui en donne pas minimum le nom et la nature des données a stocker... Et la ya pas besoin d'être caller en informatique pour savoir ca...

Fais une recherche google... créer table access sql



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
9 nov. 2009 à 20:00
Hello

Logique que tu n'ai aucune colone car tu as demander de créer une table mais sans colonne

Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 20:04
Désolant...

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
9 nov. 2009 à 20:17
Re... je sais que je dois lui donner l'info pour créer des colonnes... Voir mon premier message

Dim strSQL As [String] = "CREATE TABLE '%" & txtDossier.Text & "%' (Lot Text)"


Dans ton code tu ne fais que créer la table... J'avais remarqué... En passant j'ai pris 5 secondes pour me rendre compte de cela... Si je pose la question c'est que je mets dans mon code la possibilité de créer la colonne Lot et toi tu enlève ce bout de code...

Alors ton code fonctionne mais je veux créer la table avec des colones et je ne saisi pas qu'est ce que je ne fait pas de correct.

Bon je sais que ce n'est pas bien coder mais j'ai essayé ca après la création de la table... et ca bug toujours..

Dim strSQL1 As [String] = "ALTER TABLE" & txtDossier.Text & " ADD COLUMN test char(50)"
            myConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Recherche.mdb")
            myComm = New OleDbCommand(strSQL1, myConn)
            myConn.Open()
            myComm.ExecuteNonQuery()
            myConn.Close()
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 20:30
En même temps tu ne pécise pas que Lot est le nom de ta colonne... (je ne suis pas expert en SQL) et deuxièmement, si tu le savait, au lieu de poser la question, pourquoi n'as tu pas rajouté simplement la commande ???

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
9 nov. 2009 à 20:35
Enfin je ne sais plus trop quoi écrire..

J veux me créer une table et en même temps créer les colonnes..

Comment faire ? pour la requête SQL

J'essais certaine requête qu eje trouve sur le net et ca ne fonctionne jamais.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 20:42
Ici sont les réponses (premier google trouvé)

Ajout de colonnesAssociée avec la clause ADD, la clause ALTER permet l'ajout de colonnes à une table. La syntaxe est la suivante :

ALTER TABLE Nom_de_la_table
ADD Nom_de_la_colonne Type_de_donnees


Après bien entendu selon le SGBD ca varie, toi c'est du SQL avec une table ACCESS donc probablement la même syntaxe que pour SQL Server (MS SQL).

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
9 nov. 2009 à 20:52
lol pour moi on est fait pour ne pas se comprendre... c'est en plain ca que j'ai écrit

Dim strSQL1 As [String] = "ALTER TABLE" & txtDossier.Text & " ADD COLUMN test char(50)"



txtDossier.Text = Nom de la Table
test = Nom de la colonne
char(50) = Type de Données.

Donc ma question: Pourquoi mon code ne fonctionne pas ?

J'ai toujours l'erreur:
Erreur de syntaxe dans l'instruction ALTER TABLE.

J'ai un erreur dans ma Requête SQL que je ne trouve pas. Étant donné que tu m'a dit que tu n'étais pas un pro en SQl je vais refaire un post dans un autre Thème

merci de ton aide

P.S. Avant de traiter le monde de con.. Prend le temps de regarder :P Sans rancune
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 20:59
Dim strSQL1 As [String] = "ALTER TABLE" & txtDossier.Text & " ADD COLUMN test char(50)"

Merci j'appréci tes réflection car je n'insulte personne...

Mais je vais quand même te retourné le compliment et même résoudre ton problème :

Dim strSQL1 As [String] = "ALTER TABLE " & txtDossier.Text & " ADD COLUMN test char(50)"

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
9 nov. 2009 à 21:10
Ici ca bug toujours :(...

J'image que ca doit fonctionner pour toi.. ??

Enfin merci quand même.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 21:14
char est un type SQL ? Pas sur, je connais nchar, nvarchar essaye comme cela :

Dim strSQL1 As [String] = "ALTER TABLE " & txtDossier.Text & " ADD COLUMN test nchar(50)"


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 21:22
Effectivement, char est bien un type pris en charge par SQL (Vérifié)...

Bref, j'ai trouvé c'est simplement le mot clé column qu'il faut retirer...

Dim strSQL1 As [String] = "ALTER TABLE " & txtDossier.Text & " ADD test char(50)"

"Étant donné que tu m'a dit que tu n'étais pas un pro en SQl je vais refaire un post dans un autre Thème"


> Juste au passage tu es sur vbfrance, il aurait mieu valu poster sur http://www.sqlfr.com/

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
9 nov. 2009 à 21:47
toujours pas... toujours Erreur :(

J'ai fais un autre post avec le Thème SQL et je dois utiliser Text au lie de Char mais ca bug pareil :(

merci de ta persévérance
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 nov. 2009 à 22:36
"ALTER TABLE MaTable ADD test char(50)"

J'ai testé sous management studio avant de posté ca marche... (enfin c'est du MS SQL la syntaxe peut varier pour Excel ?!)

En tous cas merci d'avoir poster la réponse pour les membres qui passeront derière toi =)

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
10 nov. 2009 à 08:58
D'où pourquoi je parlais de créer les table de 2 façon : sur Access et en SQL, mais effectivement le type char existe (pour moi) depuis la version 97


Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
0
Rejoignez-nous