Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Datagrid läser inte rätt från en datareader

Postades av 2004-08-26 10:38:01 - Tony Truong, i forum asp.net generellt, Tråden har 12 Kommentarer och lästs av 462 personer

Hej! Skrev en inläggning om "Uppdatering av Datagrid" och har kommit fram till var felet ligger. Men nu så undrar jag hur man ska lösa problemet hehe

Det är så att jag har en datagrid som läser information från en datareader. Men denna datagrid läser inte första raden från datareadern, den hoppar gärna över den, på så sätt så visar datagridden inte nånting alls om det finns bara en rad i datareadern.

Kan man ställa in det på något sätt så att man får även första raden från datareadern?

Kan det även vara fel på datareadern? Vet nån om den läser korrekt från DBn?

Jag använder VB.NET som utvecklingspråk

MVH
Tony


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-26 12:17:04 - Patrik Dahlén

En datareader läser en rad varje gång du gör en myReader.Read. Min gissning är att du gör en koll för att se om readern är tom, och i och med att du gör den kollen så läser du första raden.
Visa din kod så löser vi problemet.


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-26 12:17:21 - Ola Lindfeldt

Det är förmodligen ett "klassiskt" Datareaderfel i din kod..
Tänk på att t.ex. denna rad:
If Dr.Read Then
läser första raden..

Posta de aktuella raderna om du inte hittar det själv nu.. :)


Ola



Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-27 12:22:20 - Tony Truong

Hej! Tack för tipset, jag har inte testat än men jag gissar på att ni har rätt. Jag gör ingen test för att se om readern är tom eller ej. Min kod ser ut så:


Response.Buffer = False
'Put user code to initialize the page here
Dim connectionString As String = "server=192.168.0.110;"
connectionString += "database=Kundregistret;"
connectionString += "user ID=admin;"
connectionString += "password=123456789;"
connectionString += "Connect Timeout=30"

Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
'2. Create the command object, passing in the SQL string
Dim queryString As String = "SELECT Namn as MemberName, Personnummer as PNo, Adress as dress, Postnr AS PostNo, PostOrt AS PostOrt, telnr AS TelNo, Anslutningsdatum as JoinDate FROM KUNDER"

Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)
sqlConnection.Open()

Dim dataReader As System.Data.SqlClient.SqlDataReader = sqlCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection)

dataReader.Read()
Datagrid.DataSource = dataReader
Datagrid.DataBind()

sqlConnection.Close()

Var ska jag sätta in kontrollen?

MVH
Tony


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-27 12:33:47 - Tony Truong

Hej Ola!

jag har testat med:

If dataReader.Read Then
Datagrid.DataSource = dataReader
Datagrid.DataBind()
sqlConnection.Close()
end if

och det funkar inte, hur ska jag göra?

MVH
Tony


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-27 12:42:23 - Johan Normén

Tony.

Du kan koppla readern direkt mot din datagrid, det som händer om den är tom är att ingen grid ritas ut.
Du behöver alltså inte kolla om du fått någon data om du inte vill göra ett undantag o säga No data eller nått. I så fall kan du innan du binder (exempelvis) readern bara kolla om den har några rader.
dataReader.HasRows tror jag propertyn heter. (kan den inte i huvudet.)

<code>
if dataReader.HasRows then
Datagrid.DataSource = dataReader
Datagrid.DataBind()
end if
</code>

När du kör en ExecuteReader kan du koppla på ett beteende som säger att den skall stännga din connection så fort readern stänger. Så du behöver inte stänga connection själv.

Mvh Johan


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-27 13:02:19 - Tony Truong

Hej Johan!
Tack för tipset, men min datagrid eller dropdownlist visar inte första raden inne hos datareadern. Tänk om jag har två rader inne i datareadern då? Dvs att det finns rader inne i datareadern men datagriden/dropdownlisten visar bara andra raden av som finns inne i datareadern. Hur ska jag lösa det?

Just nu så är det det problemet jag har, jag har säkert preciserat min fråga fel från början när jag startade tråden... very sorry about that.

MVH
Tony


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-27 13:32:35 - Johan Normén

Tony,

Kan du skicka min din Sql fråga samt lite kod där du kopplar dig mot dbn och binder datan?
Har du kört samma fråga i Analyzern eller nått för att se så alla rader är med där?

Du kör inten if dataReader.Read then i din kod va? för den flyttar dig ett steg fram så binder du readern efter detta tappar du första posten.

Mvh Johan


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-27 13:53:44 - Tony Truong

Hej Johan!
Jag har kört frågan inne i analyzer och jag får fram det jag vill ha ja, men inne i aspx sidan så verkar som om datareadern inte vill visa vad den har för nåt på sin första rad.

Jag har klistrat in detta kod tidigare:

Response.Buffer = False
'Put user code to initialize the page here
Dim connectionString As String = "server=192.168.0.110;"
connectionString += "database=Kundregistret;"
connectionString += "user ID=admin;"
connectionString += "password=123456789;"
connectionString += "Connect Timeout=30"

Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
'2. Create the command object, passing in the SQL string
Dim queryString As String = "SELECT Namn as MemberName, Personnummer as PNo, Adress as dress, Postnr AS PostNo, PostOrt AS PostOrt, telnr AS TelNo, Anslutningsdatum as JoinDate FROM KUNDER"

Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)
sqlConnection.Open()

Dim dataReader As System.Data.SqlClient.SqlDataReader = sqlCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection)

dataReader.Read()
Datagrid.DataSource = dataReader
Datagrid.DataBind()

sqlConnection.Close()

där innehåller både sqlfrågan och min datagrid som plockar ut raderna från datareadern. Jag har kollat upp kollumnnamnen redan och allt verkar stämma så gridden fångar upp rätt kolumn, samma sak gäller min dropdownlist.

Jag testade bara med if dataReader.Read then i min kod innan och det funkar inte så jag tog bort det igen.

Kom gärna med förslag på hur jag ska göra... jag har verkligen ingen aning varför det är så.

MVH
Tony


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-27 13:56:33 - Johan Normén

Tony...

Du har kvar Read anropet i koden du gav mig:

dataReader.Read() <-------------------------------------
Datagrid.DataSource = dataReader
Datagrid.DataBind()

Sedan behöver du inte köra:
sqlConnection.Close()

du har valt att den skall göra det så fort Readern är closed.
Kör close på readern i stället.


Mvh Johan


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-30 09:24:33 - Tony Truong

Hej Johan!

Tack för tipset, verkar fungera nu, men jag undrar bara, om man inte stänger sqlconnection manuellt, blir det då inte för många öppna anslutningar tills slut som leder till att man inte kan starta en sqlconnection?

MVH

Tony


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-30 12:53:47 - Johan Normén

Tony..

Som jag sa ovan så har du valt att stänga conection när du stänger din reader.
Se din kod:

Dim dataReader As System.Data.SqlClient.SqlDataReader = sqlCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection)

Du behöver alltså inte stänga connection då Readern gör det åt dig när du kör close på Readern.

Mvh Johan


Svara

Sv: Datagrid läser inte rätt från en datareader

Postades av 2004-08-30 13:13:24 - Tony Truong

aha! det visste jag inte =) tack så mycket Johan!

Nu är problemet helt löst!
TACK!

MVH
Tony


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 169
27 953
271 705
969
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies