IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Probleme de connexion à une BD sql server


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut Probleme de connexion à une BD sql server
    Bonjour, je débute en asp.net (j'ai commencé lundi) :p tout va bien seulement, je n'arrive pas à me connecter à ma base de donnée Sql Server.

    Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Public Function ExecuteSql(ByVal req As String, Optional ByVal Pswd As String = "") As String
            'Initialisation de la connexion string
            Dim Host As String = "adr" 'adresse IP utilisée
            Dim DB As String = "nom" 'Nom de la base de donée
            Dim UID As String = "mon nom 'Nom d'utilisateur"
            Dim Pwd As String = "mon pwd" 'Mot de passe
            Dim ConnectionString As String = "Data Source=" & Host & "; Database=" & DB & "; UID=" & UID & "; Password=" & Pwd
            Dim cnn As New Data.SqlClient.SqlConnection(ConnectionString)
            'Connexion
            Try
                cnn.Open() 'Ouverture
                HttpContext.Current.Response.Write("<br/><br/>><br/><center>L'ouverture s'est bien passée. Connexion active.</center>")
            Catch ex As Exception
                HttpContext.Current.Response.Write("Erreur lors de la connexion à la base de donnée")
                cnn.Close()
            End Try
            'Execution de la requete
            Try
                Dim cmd As New Data.SqlClient.SqlCommand(req, cnn)
                Dim rs
                rs = cmd.ExecuteNonQuery()
                HttpContext.Current.Response.Write("il y a " & rs(0) & " enregistrements.")
            Catch ex As Exception
                HttpContext.Current.Response.Write("<center>Erreur lors de l'execution de la requete.</center>")
            End Try
            cnn.Close()
            Return ""
        End Function
    La connexion fonctionne, en tout cas le bloc try me retourne "L'ouverture s'est bien passée", mais ensuite, impossible d'executer ma requete...

    Le code appelant la fonction executesql est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Protected Sub ok_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim n As String
            Dim com As String
            Dim d As String
            Dim i As Integer
            Dim f As fonctions
            f = New fonctions
            'Recuperation des valeurs saisies dans le frmulaire
            n = nom.Value() 'Le nom
            com = TextArea1.Value() 'Le commentaire
            d = DateTime.Now.ToString("dd MMM yyyy") 'La date du jours
            'Creation de la requete
            Dim request As String
     
            Request = " INSERT INTO [Pierre].[dbo].[Commentaires](nom,commentaire,date) VALUES (n,com,d)"
     
            f.ExecuteSql(request)
            '  HttpContext.Current.Response.Write("L'insertion a été effectuée")
        End Sub
    J'espere que vous pourrez m'aider... je m'arrache les cheveux là dessus depuis ce lmatin .

    Merci d'avance.

  2. #2
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Eh bien tu met des points d'arrêts et tu regardes ce que contiennent tes varriables etc..

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut
    bien sur si je poste ici c'est justement que je l'ai fait , j'ai passé la journée là dessus... donc j'ai largement eu le temps de faire ça... mais ça n'a toujours rien donné je sais ou ça plante mais le problème c'est pas ça. C'est de savoir pourquoi ça plante à l'exécution de la requête. Est ce qu'il y a un objet type result set à instancier pour stocker le résultat de la requête par exemple ?

  4. #4
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    tu as pas oublié un ";" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ConnectionString As String = "Data Source=" & Host & "; Database=" & DB & "; UID=" & UID & "; Password=" & ";"

  5. #5
    Membre confirmé Avatar de dachir
    Inscrit en
    Juillet 2006
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 148
    Par défaut
    Comme tu débutes, fais plus simple en laissant Visual studio faire la connexion pour toi. Pour ce faire: Place un objet sqldataSource sur ta page Asp et configure le en utilisant l'assistant. Visual studio met les informations de configuration dans la webconfig pour toi.
    Salut

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut
    Citation Envoyé par dachir Voir le message
    Comme tu débutes, fais plus simple en laissant Visual studio faire la connexion pour toi. Pour ce faire: Place un objet sqldataSource sur ta page Asp et configure le en utilisant l'assistant. Visual studio met les informations de configuration dans la webconfig pour toi.
    Salut
    Je ne suis pas de cet avis.
    C'est bien de déjà pouvoir utiliser le code pour faire ce que l'on veut même en débutant.
    Trop facile le glisser déplacer et se laisser guider...

    Bref,
    pour en revenir au problème, tu dis que tu as fait du pas à pas et tu ne vois pas d'erreur.
    Retirer momentanément le try catch, normalement, tu devrais avoir une page d'erreur et peut etre qu'elle sera plus explicite.
    Ou sinon pour faire plus propre tu ajoutes "ex.message" à ton message dans le catch

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Citation Envoyé par Promesses Voir le message
    Je ne suis pas de cet avis.
    C'est bien de déjà pouvoir utiliser le code pour faire ce que l'on veut même en débutant.
    Trop facile le glisser déplacer et se laisser guider...
    Sauf que ça ne sert à rien de rester planté devant une connection string qui ne fonctionne pas.
    Ce que voulait dire Dachir, enfin je pense, c'est qu'en utilisant l'assistant il récupérerait une connection string fonctionnelle, pourrait l'étudier et ainsi la comparer à son code pour repérer son erreur.

    Sur le fond je suis d'accord avec toi. J'ai appris sur des assistants, sans rien comprendre de ce qui se passait en arriere plan et j'ai bien degusté quand je suis arrivé en entreprise et qu'on m'a dit : CODE !!!
    Mais pour le coup, c'est vrai qu'un SQLDataSource pourrait être utile pour repérer l'erreur.

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut
    bon j'essaie tout ça et je vous dis... dsl pour le retard mais je suis au Québec donc le décalage... il est 8h là ^^

    Je précise que je connais l'endroit précis ou l'erreur arrive : c'est lors de mon

    rs = cmd.ExecuteNonQuery()

    D'où ma question sur le type à donner à cet objet rs... je ne pense pas ma requête fausse donc il faut bien que ça vienne de quelque part ailleurs :p

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Par défaut
    J'ai trouvé l'erreur. Au final la chaine de ma requete etait fausse, j'utilisais des variabkes mais ... j'oubliais de les exclure de la chaine...

    Je faisais :
    request = "INSERT INTO [Pierre].[dbo].[Commentaires] (id, nom, commentaire, date) VALUES ( i, n, com, d )"

    Au lieu de

    request = "INSERT INTO [Pierre].[dbo].[Commentaires] (id, nom, commentaire, date) VALUES (" & i & ", " & n & ", " & com & "," & d & " )"

    Merci à vous tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Connexion à une DB sql server distante
    Par olbi dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/02/2007, 10h11
  2. connexion à une base sql server via access
    Par gunico dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 03/03/2006, 11h28
  3. connexion à une base Sql Server via Access et ADODB
    Par gunico dans le forum Projets ADP
    Réponses: 5
    Dernier message: 28/02/2006, 12h26
  4. probleme de connexion à une base sql avec mot de passe
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/12/2005, 10h16
  5. Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Par SchpatziBreizh dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2005, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo