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 :

Erreur ASP.net (VB) DataTable.Rows.count renvoie 0 avec SQLServer


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Par défaut Erreur ASP.net (VB) DataTable.Rows.count renvoie 0 avec SQLServer
    Bonjour à tous...Je suis vraiment bloqué sur un problème que je sais vraiment facile...OK je code sous Asp.net ( VB) et j'ai l'habitude de travailler en utilisant Access comme base de données. J'ai changé et je suis passé a SQL server...Le code que je vais vous montré marche parfaitement en utilisant Access mais avec SQL server 2005, je ne comprends pas pourquoi je n'arrive pas à faire afficher les données dans mes textbox.
    Je voudrais juste faire une recherche sur le nom et afficher le resultat dans les textbox.
    J'ai deja fait ma connection et le problème n'est pas au niveau de la connection.
    Mais ce code marche parfaitement sous Access.

    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
     
     
    sql = "Select * from T_Login where Login_Username ='" & Me.TxtLogin_Username.Text & "'"
            cmd = New OleDb.OleDbCommand(sql)
            dta2 = New OleDb.OleDbDataAdapter(cmd)
            cmd.Connection() = cn ' cn est faite pour ma connectionString pour relier a ma BD
     
            dta2.Fill(dts, "T_Login")
            dtt = dts.Tables("T_Login")
            MsgBox(dtt.Rows.Count) ' OK j'ai mis cette partie pour voir s'il reussissait a lire le nombre d'enregistrement dans ma table et le resultat est toujours 0 ce qui veut dire que il n'ya rien dans ma base or c'est faux j'ai des données la dedans. Donc le problème vient d'ici
     
    'rownum est de type integer deja declarer aussi
            If rownum > dtt.Rows.Count - 1 Then ' if ther is nuthg in db
                MsgBox("Not this User in the database...!" & Chr(13) & "Thank You...!", MsgBoxStyle.Information)
                Me.TxtSearch.Text = ""
                '   Me.TxtSearch.Focus()
            Else
                  Me.TxtLogin_FName.Text = dtt.Rows(rownum).Item(Login_FName)
                Me.TxtLogin_Username.Text = dtt.Rows(rownum).Item("Login_Username")
                Me.TxtLogin_Password.Text = dtt.Rows(rownum).Item("Login_Password")
                Me.TxtLogin_Position.Text = dtt.Rows(rownum).Item("Login_Position")
                Me.TxtLogin_permission.Text = dtt.Rows(rownum).Item("Login_Permission")
                ' DataGrid.SetDataBinding(dts, "Product")
     
            End If
    OK c'est au fait cela mon problème...Donc je pense bien que le problème vient du fait que le datatable (dtt)n'arrive pas lire ma table. Merci bien pour votre temps...

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    Bonjour.

    As-tu testé tout d'abord ta requête avec les mêmes critères qu'à l'exécution en interrogeant directement la BDD. Combien de lignes te ramène-t-elle?

    Ensuite, pour information, as-tu initialisé tes objets datatable et dataset avec le mot-clé "New"?

    Cordialement.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Par défaut
    Quand j'interroge directement ma base de donnée elle me renvoie des données ...Et je ne pense pas que le problème soit au niveau de la requête...Concernant la declaration des new devant mes dataset et datable..je les faites elles aussi...Mais c'est toujours le meme problème...je ne sais vraiment pas...

  4. #4
    Membre chevronné Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Par défaut
    Salut,

    Surement il y a qlq chose qui cloche.
    Essaye de travailler avec le namespace
    System.Data.SqlClient
    au lieu de
    System.Data.OleDb
    Donc tu dois changer dans ton code les classes, genre "SqlConnection" au lieu de "OleDbConnection".

    Autre chose, essaye ou bien de remplir une datatable directement au lieu de passer par le dataset :
    dta2.Fill(dtt)
    ou
    dta2.Fill(dts)
    dtt = dts.Tables(0)
    Encore une chose, comme t'a dit Plexi86, essaye de tester ta requette d'abord, faire un point d'arret par exemple sur la ligne où il y a ta requette, copie cette dernière et excute là dans Sql Server.

    Bonne courage

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Par défaut
    Bonjour a tous! j'ai finalement trouvé la solution...je m'étais trompé de textbox pour la recherche ...Vraiment desolé...mais je vais aussi essayer le SqlCLient pour la connection..Merci bien a vous

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/03/2015, 10h46
  2. Réponses: 2
    Dernier message: 28/03/2014, 16h00
  3. <asp:Table> et Table.Rows.count
    Par jacky01 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/10/2010, 16h13
  4. [SP-2007] erreur ASP.NET 2.0.50727.0
    Par diego337 dans le forum SharePoint
    Réponses: 0
    Dernier message: 11/01/2010, 09h50
  5. Réponses: 6
    Dernier message: 30/07/2007, 17h17

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