begin process at 2012 02 14 13:43:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

MySQL

 > 

Effectuer un Ajout dans un table avec du code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Effectuer un Ajout dans un table avec du code

lundi 3 mars 2008 à 17:02:48 | Effectuer un Ajout dans un table avec du code

CleemS

Bonjour à tous !

Je croyais avoir trouvé l'astuce pour ajouter une ligne dans une table de ma Base de Données (MySQL) avec du code, mais apparemment c'est pas. =/

Voici le code que j'utilise, et qui donc, ne marche pas ^^ :

                Db.MySQLQuery("INSERT INTO `recette`(`Date_Rec`, `Lib_Rec`, `Montant_Rec`) VALUES ('" + DateTimePicker1.Value + "', '" + TextBox1.Text + "', '" + TextBox2.Text + "');")

En sachant que :

    Dim Db As Cl_MySQL

Et ma classe Cl_MySQL, du moins la partie qui nous intéresse ici :

    Function MySQLQuery(ByVal Query As String)
        Dts.Clear()
        Try
            Requete = Query
            HostConn.Open()
            'On execute la requête
            Dta = New MySqlDataAdapter(Requete, HostConn)
            Dta.Fill(Dts)
            Return Dts
            'On renvoi la table
        Catch myerror As MySqlException
            MessageBox.Show("Erreur de Connection à la Base de Données : " & myerror.Message)
            Return 0
        End Try
    End Function

Voili Voilou, donc pour une requête banale du Genre SELECT * FROM TABLE, sa marche très bien, mais pas pour une requête de type INSERT. Je ne comprends pas pourquoi, pourriez-vous m'éclairer s'il vous plait?

Merci pour la lecture,
CleeM.
lundi 3 mars 2008 à 17:17:00 | Re : Effectuer un Ajout dans un table avec du code

lim

Salut

Enlève les ' en rouge, tu n'en as pas besoin dans cette partie de la requête.

et utilise des & à la place des +

 Db.MySQLQuery("INSERT INTO `recette`(`Date_Rec`, `Lib_Rec`, `Montant_Rec`) VALUES ('" & DateTimePicker1.Value & "', '" & TextBox1.Text & "', '" & TextBox2.Text & "');")

çà devrait marcher



@+
LIM
mardi 4 mars 2008 à 12:06:40 | Re : Effectuer un Ajout dans un table avec du code

CleemS

Salut, et merci de m'aider !

Je ne vois pas quels apostrophes je dois enlevé dans mon code. =/

Sinon j'ai remplacé tous les + par des &, et comme avant, quand j'ajoute une nouvelle ligne, aucune erreur, mais quand je vais vérifié dans la BDD, rien n'a été ajouté.

J'y pense sa peut venir d'autre chose, mais j'avais fait des tests et sa marchait, quand j'ajoute une nouvelle recette (prog' de compta ^^), je lance une MsgBox pour demander à l'utilisateur s'il souhaite vraiment l'ajouter, et je vérifie sa réponse comme ceci :

If DialogResult = 6 Then

En cherchant un peu c'est tout ce que j'ai trouvé, et après quelques tests sa m'avait l'air de fonctionner, mais peut être qu'il ne faut pas faire comme sa?
mardi 4 mars 2008 à 13:37:34 | Re : Effectuer un Ajout dans un table avec du code

lim

Re

Enlève les ' en rouge, tu n'en as pas besoin dans cette partie de la requête.

et utilise des & à la place des +

 Db.MySQLQuery("INSERT INTO `recette`(`Date_Rec`, `Lib_Rec`, `Montant_Rec`) VALUES ('" & DateTimePicker1.Value & "', '" & TextBox1.Text & "', '" & TextBox2.Text & "');")

J'ai grossi le texte c'est dans le
INSERT INTO Table(Champ1,Champ2) tu n'as pas besoin d'apostrophes.

Au lieu de la msgbox utilise la messagebox du .Net
Au niveau des boutons et de l'icon tu as plusieurs options
Et la réponse est écrite en clair Yes, No Cancel..... 

Dim reponse As DialogResult

reponse = MessageBox.Show(

"Texte du message", "Titre de la messagebox", MessageBoxButtons.YesNo, MessageBoxIcon.Information)

If reponse = Windows.Forms.DialogResult.Yes Then

'Ton code

EndIf
@+
LIM
dimanche 16 mars 2008 à 21:25:04 | Re : Effectuer un Ajout dans un table avec du code

Berurier

Salut,
Ta fonction MySQLQuery te permet de charger une table dans un dataset  mais ne te permet pas de mettre à jour la table. il te faudrait créer les commandes.

Utilises une autre fonction comme celle-ci :

Public Function ExecuteCommande(ByVal Requete As String, Optional ByVal Ajout As Boolean = False) As Long

       conn  correspond à hostconn

        Dim MyCmd As New MySql.Data.MySqlClient.MySqlCommand(Requete, conn)

        If Microsoft.VisualBasic.Right(Requete, 1) <> ";" Then Requete = Requete & ";"  
       
        If Connection("ExecuteCommande") = True Then   ' Si connection OK
            Try
                If Ajout Then
                    Requete = Requete & "SELECT LAST_INSERT_ID();"   =>  SELECT LAST_INSERT_ID() va te retourner le dernier index ce qui te permetrra de savoir que la commande à réussi.
                     executecommande= MyCmd.ExecuteScalar   
                Else               
                   executecommande=  MyCmd.ExecuteNonQuery   
                End If
           
            Catch ex As System.Net.Sockets.SocketException
              ' à gerer
            Catch ex As MySql.Data.MySqlClient.MySqlException
               ' a gérer
            Finally
                MyCmd.Dispose()
             
            End Try
        End If
    End Function

En espérant t'avoir aidé ....


A +

On s'en fout que les poulets soient élévés en plein air , de toutes facons , on ne mange pas les poumons....

mardi 10 juin 2008 à 18:29:02 | Re : Effectuer un Ajout dans un table avec du code

CleemS

3mois plus tard me revoilà sur mon programme, et oui l'exam des PTI c'est dans 1semaine !!! =/

Merci pour vos réponses Berurier & lim.

En effet on dirait que ma fonction MySQLQuery ne permet pas l'ajout, car aucun message d'erreur mais aucun ajout aussi.
Je suis en train d'essayer ta Fonction Berurier, mais il n'y a qu'un problème :


If Connection("ExecuteCommande") = True Then   ' Si connection OK


Le 'Connection' n'est pas reconnu par VB et je ne sais que mettre, le HostConn ne marche pas non plus.

En espérant que tu sois toujours sur le forum! =)


Cette discussion est classée dans : table, code, requête, rec, dts


Répondre à ce message

Sujets en rapport avec ce message

PB code ne s'execute pas entierement [ par malcom78 ] Bonjour a tous, J'ai un problème sous access.Alors j''ai une table tres mal faite (c'est un import).Bref, dans cette table il y a des doublons dans le Requête SQl [ par Astro8899 ] Bonjour!!Je veux faire une requête SQl avec deux table différente. Dans une table j'ai le code de mon produit et dans mon autre table j'ai la descript Requête SQL [ par Astro8899 ] BonjourJe veux faire une requête SQl avec deux table différente. Dans une table j'ai le code de mon produit et dans mon autre table j'ai la descriptio requête création [ par sirine_28_06_85 ] j'ai fait ce code la pour créer une table access a partir du vbla création est faite mais les tous les champs et indexés oui sans doublons mais moi je ADO.Net RowChange et Fill [ par Mayzz ] Hello ! C'est encore moi qui reviens à la charge avec mes soucis d'ADO.NET [^^sad1] Voila, je dois faire un formulaire (client pour le moment), lié Sauvegarde d'une requette dans une table par code vba [ par kskonan ] Slt, g sui debutant, je voudrais etre aidé pou r sauvegarder une requette dans une table par code vba Combobox alimenté depuis une table [ par rudybiss ] Bonjour à tous!Je me remet à votre sagesse pour avoir plus d'explications dans le travail que j'effectue.En effet je développe une application et je m Microsoft ne peut pas ajouter tous les enregistrment de la requête ajout-violation de clé !!! [ par remi31150 ] Voila bonjour, je me présente je suis étudiant en BTS informatique de gestion et dans le cadre d'une AP, je réalise une petite base de données sous Ac Disfonctionnement dans la requête [ par bernardo67 ] Bonjour,J'ai une table de ma base avec une colonne de type DateTime. Si j'ai bien compris, c'est du type dd/MM/yyyy...Sous Visual Studio, quand je vis modifie un enregistrement par autre table liée [ par AZIZEPS ] j'ai 2 tables liées par code. je veux que les enregistrement de la table B se modifient automatiquement si je fait la saisie dans la table A,  C A D s


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales