none
Problème connexion bdd RRS feed

  • Question

  • Bonjour , je commence un peu à m'intéresser aux bases de données notamment sql , et j'essaie d eme connecter à une base sql que j'ai créer en vb.net .

    Pour l'instant j'en suis à ce point pour le code :

      Dim strSQL As String = ""
        Dim conn = New SqlConnection()
        conn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\base.mdf;Integrated Security=True;User Instance=True"
        conn.Open()
        strSQL = "INSERT INTO infoclient ( id, info, dates) " _
         & "Values(test,information tests,30/05/2011)"
        Dim cmd = New SqlCommand(strSQL)
    
        cmd.ExecuteNonQuery()
        conn.Close()
    

    Mais j'ai une erreur : ExecuteNonQuery : la propriété Connection n'a pas été initialisée.

    D'avance merci pour les réponses.

    lundi 30 mai 2011 15:50

Réponses

  • Bonjour,

    pour le moment votre commande sql n'est pas à liée à l'objet connexion. Initialisez votre SqlCommand avec la connexion:

    Dim cmd = New SqlCommand(strSQL, conn)
    
    

     

    Vous trouvez plus d'informations ici si besoin : SqlCommand

    Cordialement

     

    lundi 30 mai 2011 15:54
    Modérateur
  • Bonjour

    puisque la variable test doit avoir du contenu donc on utilise cette syntaxe si c'est une variable chaine

     

     

    strSQL = "INSERT INTO infoclient ( id, info, dates) " _
      & "Values('" & test &"','" & information tests & "','30/05/2011')"
    

     

     

    Cordialement

     


    Best Regards Please mark as answer if my answer is helpful
    mardi 31 mai 2011 08:17
  • Bonjour,

    Dim monStreamReader As New StreamReader(fichier)
     Dim ligne As String
     conn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\info.mdf;Integrated Security=True;User Instance=True"
     conn.Open()
    
     do
    
     ligne = ligne & monStreamReader.ReadLine & vbNewLine
    
     
     
      Loop Until ligne Is Nothing
     monStreamReader.Close()
    
    strSQL = "INSERT INTO infoperso ( id, info, dates) " _
     & "Values('test', '" & ligne & "', getdate())"
    
     Dim cmd = New SqlCommand(strSQL, conn)
     cmd.ExecuteNonQuery()
    
     conn.Close()


     

     j'ai refait le code si vous voulez l'essayer et remplacez fichier par le chemin de votre fichier 

     


    Best Regards Please mark as answer if my post is helpful

    mercredi 1 juin 2011 08:11
  • Merci pour la réponses , le code actuel ne me permet toujours pas d'afficher les saut de ligne ...

    Je pense plutôt que c'est du coté de l'affichage qu'il y a le problème.

    Sinon vu que un formview sait interpreter du code html , il faudrait recréer un fichier et le remplir avec le contenu du fichier initiale en remplaçant tous les retour à la ligne en <br> et tous les espace en

    &nbsp;

    D'avance merci



    • Marqué comme réponse Hugo7 jeudi 30 juin 2011 11:02
    vendredi 17 juin 2011 13:25

Toutes les réponses

  • Bonjour,

    pour le moment votre commande sql n'est pas à liée à l'objet connexion. Initialisez votre SqlCommand avec la connexion:

    Dim cmd = New SqlCommand(strSQL, conn)
    
    

     

    Vous trouvez plus d'informations ici si besoin : SqlCommand

    Cordialement

     

    lundi 30 mai 2011 15:54
    Modérateur
  • Merci bien nikho pour la réponse sa marche mais maintenant j'ai un autre problème , il me dit "non de colonne non valide :"test".

    En faite je voudrais ajouter la chaine "test" dans ma base pour le champ "id"

    D'avance merci

    lundi 30 mai 2011 17:56
  • Bonjour

    puisque la variable test doit avoir du contenu donc on utilise cette syntaxe si c'est une variable chaine

     

     

    strSQL = "INSERT INTO infoclient ( id, info, dates) " _
      & "Values('" & test &"','" & information tests & "','30/05/2011')"
    

     

     

    Cordialement

     


    Best Regards Please mark as answer if my answer is helpful
    mardi 31 mai 2011 08:17
  • Merci sa marche , j'ai juste un dernier petit problème , en faite en gros ma variable test récupère  le contenu d'un fichier .txt ,et le truc c'est que je voudrais réussir à sauvegarder la mise en page ( c'est à dire principalement les retour à la ligne ) lorsque j'insère le contenu dans la base.

    J'ai regardé dans ma base et les retours à la ligne sont représentés par un petit carré, donc je me demande si ce n'est pas plutot mon formview qui me permet d'afficher les données de ma table qui n'arrive pas à interpréter ces petits carrés...

    D'avance merci.

    mardi 31 mai 2011 15:31
  • bein en faite je c pas deja comment tu lis ton fichier texte 

    tu peux utilise ce bout de code

    Dim TextLine As String
    
    Do While objReader.Peek() <> -1
    TextLine = TextLine & objReader.ReadLine() & vbNewLine
    Loop
    

    deja ici ya le vbnewline qui passe d'une ligne a une autre 

    essaye et note le comportement d'insertion des retour a la ligne en base de donnée


    Best Regards Please mark as answer if my post is helpful
    mardi 31 mai 2011 15:57
  • Bonjour

     

    Plutot que de construire vos propre requette je ne peu que vous conseillez de vous tourner vers le DataAdapter/DataTable pour la lecture et l'enregistrement de donnée,

    ou alors entity si vous souhaitez une technique plus moderne.

    Vous aurez l'intelissens sur les base de données, tout les format des données sont nativement gerer (date, chaine avec caractere d'echapement, numeric, ...)


    Cordialement Sébastien DataBase2Code
    mercredi 1 juin 2011 05:55
  • Merci pour les réponses , pour répondre à YWeb voici mon code :

     

     Dim fileinitial As New System.IO.StreamReader(param1)
    
        conn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\info.mdf;Integrated Security=True;User Instance=True"
        conn.Open()
        strSQL = "INSERT INTO infoperso ( id, info, dates) " _
        & "Values('test', '" & fileinitial.ReadToEnd.ToString & "', '" & Date.Now & "')"
    
        Dim cmd = New SqlCommand(strSQL, conn)
        cmd.ExecuteNonQuery()
    
        conn.Close()
        fileinitial.Close()
    
    Param1 renseigne l'emplacement d'un fichier texte sur un ordinateur client.

    mercredi 1 juin 2011 06:18
  • Bonjour,

    Pour le fichier il est de quelle format ? est ce qu'il contient des donnée binnaire ? si c'est le cas vous ne pourrez pas l'inserer de cette maniere.

    Il existe une syntax particuliere pour inserer les donnée binnaire dans un champs d'une base de donné.

    regarder ce lien pour une premier piste :

    http://weblogs.sqlteam.com/peterl/archive/2007/09/26/Insert-binary-data-like-images-into-SQL-Server-without-front-end.aspx

     

     


    Cordialement Sébastien DataBase2Code
    mercredi 1 juin 2011 07:10
  • Bonjour,

    Dim monStreamReader As New StreamReader(fichier)
     Dim ligne As String
     conn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\info.mdf;Integrated Security=True;User Instance=True"
     conn.Open()
    
     do
    
     ligne = ligne & monStreamReader.ReadLine & vbNewLine
    
     
     
      Loop Until ligne Is Nothing
     monStreamReader.Close()
    
    strSQL = "INSERT INTO infoperso ( id, info, dates) " _
     & "Values('test', '" & ligne & "', getdate())"
    
     Dim cmd = New SqlCommand(strSQL, conn)
     cmd.ExecuteNonQuery()
    
     conn.Close()


     

     j'ai refait le code si vous voulez l'essayer et remplacez fichier par le chemin de votre fichier 

     


    Best Regards Please mark as answer if my post is helpful

    mercredi 1 juin 2011 08:11
  • Bonjour, Hugo7,

    Est-ce que vous avez testé le code d’YWeb ? Merci pour partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    vendredi 3 juin 2011 06:50
  • Merci pour les réponses , j'ai testé le code d'YWEB mais j'ai un problème , la page ne se charge jamais comme si il y avait une boucle infini.

    J'ai donc enlever le Do loop et la la page se charge mais la variable ligne ne contient que la première ligne de mon fichier .txt

    D'avance merci

    lundi 6 juin 2011 06:23
  • Bonjour,

    Essayez remplacer la condition de do-loop avec String.IsNullOrEmpty(ligne). Sinon, remplacez le block do-loop par

     

    ligne = monStreamReader.ReadToEnd()

     

    pour lire tout le contenu de votre fichier.

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    lundi 6 juin 2011 08:54
  • J'ai essayé les deux solutions mais sa ne marche toujours pas...
    mardi 7 juin 2011 16:17
  • Bonjour,

    Quel est le résultat du code actuel ? Ou est-ce que vous avez un message d’erreur ?

     

    Bonne journée,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 8 juin 2011 06:35
  • Merci pour la réponses , le code actuel ne me permet toujours pas d'afficher les saut de ligne ...

    Je pense plutôt que c'est du coté de l'affichage qu'il y a le problème.

    Sinon vu que un formview sait interpreter du code html , il faudrait recréer un fichier et le remplir avec le contenu du fichier initiale en remplaçant tous les retour à la ligne en <br> et tous les espace en

    &nbsp;

    D'avance merci



    • Marqué comme réponse Hugo7 jeudi 30 juin 2011 11:02
    vendredi 17 juin 2011 13:25