Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Effectuer un Ajout dans un table avec du code [ Base de données / MySQL ] (CleemS)

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é 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 jointure de deux table+crstal report [ par faksouha ] bonjour;j'ai une requette avec jointure entre deux table, 1) je crée un dataset typé contenant ces deux tables, liées avec clé primaire,2) je crée un Requête Paramétrée sous Access en vb.net [ par Petiote ] Bonjour, Voilà mon problème. J'ai une requête sous Access qui a besoin de 2 paramètres (an et ancalcul) pour être exécutée. Le truc c'est que je ne pe petit problème de synthaxe sur requête UPDATE [ par Famas54 ] Bonjour,Je recherche à faire une requête UPDATE sur une table T1 en fonction des données déjà présentes dans une table T2, sachant que les deux tables tester existance d'une table [ par deftom ] Bonjour, pour mettre un cadre a ma demande je suis débutant, n'est pas de connaissance réél en VB , mais en "récuperant" des bouts de code et avec un Erreur System.NullReferenceException [ par CleemS ] Bonjour à tous ! Je ne comprends pas pourquoi mon programme, lorsque je le compile, génère une erreur de type : "System.NullReferenceException". Car j requête avec plusieurs paramétres [ par pegasus620 ] salut!je voulais savoir si c'est possible d'utiliser une requete SQL de ce genre dans le dataenvironment :select *  from "client" where ?=?si oui comm


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 2,465 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.