Visual basic et sql server insertion données

alexbigfoug -  
 alexbigfoug -
Bonjour à tous,

J'aurais besoin de votre car je ne trouve pas de solution, et j'ai pourtant cherché.

Pour infos, j'ai une base de donnée créer avec sql server, une connexion a été effectué avec visual basic, et je suppose qu'elle fonctionne puisque dans mon datagridview je peux voir mes données.
Dans mon cas suivant je travaille sur l'ajout d'un acteur à la table ACTEUR.

Voici un extrait de code:

Public Class F_ajout_acteur

    Private Sub F_ajout_acteur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO : cette ligne de code charge les données dans la table 'AP2_DAVIDDataSet.ACTEUR'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.ACTEURTableAdapter.Fill(Me.AP2_DAVIDDataSet.ACTEUR)

    End Sub

    Private Sub B_ajout_acteur_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_ajout_acteur.Click

        Dim requete As String

        If TB_nomA.Text <> "" And TB_numA.Text <> "" Then 'le nom et le numéro de l'acteur sont obligatoires
            requete = "INSERT INTO ACTEUR(num_acteur, prenom_A, nom_A, date_nais_A) VALUES (@TB_numA.text, @TB_nomA.text, @TB_prenomA.text, @DTP_date_naisA.text);"
        Else
            MsgBox("Il faut obligatoirement un nom d'acteur et un numéro d'acteur")
        End If
    End Sub
End Class


Je ne comprends pas pourquoi ma requête ne s'exécute pas...il me manque surement quelque chose, mais là j'avoue que je suis un peu perdus...

Merci d'avance de votre aide!!

8 réponses

  1. holow1 Messages postés 739 Statut Membre 71
     
    il y a pas un objet connection et l'objet sqlcommand etrange non ??

    Import System.Data;
    Import System.Data.sqlclient;

    OleDbConnection objConnection = null;
    OleDbCommand objCmd = null;
    String strConnection, strSQL;

    strConnection = chaine de connection ;

    // Create and open the connection object
    objConnection = new OleDbConnection(strConnection);
    objConnection.ConnectionString = strConnection;

    objConnection.Open();

    // set the SQL string
    strSQL = "INSERT INTO Employee (FirstName , LastName ) " +
    "VALUES ( 'Beth' , 'Hart' )";

    // Create the Command and set its properties
    objCmd = new OleDbCommand(strSQL, objConnection);

    // execute the command
    objCmd.ExecuteNonQuery();

    pour la chine de cnx la

    https://www.connectionstrings.com/

    ++
    0
  2. alexbigfoug
     
    Il faut établir une connexion à chaque fois que je veux modifier, ajouter ou supprimer un élément d'une table ?

    Par contre je ne comprends pas à quoi correspond les 2 importations?

    Je vous remercie d'avoir répondus aussi rapidement!
    0
    1. holow1 Messages postés 739 Statut Membre 71
       
      oui bien sur il faut établir une connexion a la base de donnée car si le le mode connecter
      si on a importer 2 System du nom on peux travailler avec les objet sqlconnection et sqlcomand,..ect
      0
  3. alexbigfoug
     
    rien ne passe, la syntaxe n'est pas bonne...
    On dirait du C#, (d'après les recherches que j'ai effectué).
    Je code tout en VB...

    Pour la lecture des données dans mon formulaire, j'utilise un DataGridView.

    Je suis en application windows!!!
    0
  4. alexbigfoug
     
    Désolé pour le double post.

    Bon j'ai testé un truc et cela ressemble à ça. Bien sûr cela ne fonctionne toujours pas mais je pense être sur la bonne voix... Quelle qu'un peut continuer à m'aider!!

        Private Sub B_ajout_acteur_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_ajout_acteur.Click 
    
            'On crée un DataRow qui respecte la structure de la table achat 
            Dim champ As DataRow = *******DataSet.Tables("ACTEUR") 
    
    
    
            If TB_nomA.Text <> "" And TB_numA.Text <> "" Then 'le nom et le numéro de l'acteur sont obligatoires 
                'On rempli notre DataRow 
                champ(0) = TB_numA.Text 
                champ(1) = TB_nomA.Text 
                champ(2) = TB_prenomA.Text 
                champ(3) = DTP_date_naisA.Text 
                'On ajoute notre ligne à la table ACTEUR (Virtuellement) 
                AP2_DAVIDDataSet.Tables("ACTEUR").Rows.Add(champ) 
            Else 
                MsgBox("Il faut obligatoirement un nom d'acteur et un numéro d'acteur") 
            End If 
    
    
    
    
    
        End Sub


    Ce qui est en gras en souligné par VB.

    les ***** symbolyse le nom de la base
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question