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


DataSet

Postades av 2004-02-27 19:37:17 - Kjell Andersson, i forum vb.net, Tråden har 11 Kommentarer och lästs av 749 personer

Jag har ett DataSet (kallad DS) som jag vill ta data ur och jobba med.

Dim DR As DataRow
For Each DR In DS.Tables("märken").Rows

Hit funkar det

Det som finns i en kolumn som heter Vm1Pos och en som heter Vm1nr, vill jag dels kolla om Vm1Pos inte är tom, dels vilka bokstäver som står som de tre första tecknen i Vm1nr. Jag skriver nedan den kod man kan använda om man har RecordSet (RS). Jag kan inte få till motsvarande med mitt DataSet

If Not IsNull(RS.Fields("Vm1pos").Value) Then
Select Case Mid$((RS.Fields("Vm1nr").Value), 1, 3)
Case "XYZ":


Svara

Sv: DataSet

Postades av 2004-02-27 21:03:21 - Sven-Olof Lahger

För att kolla om Vm1Pos är Null kan du använda IsDbNull.

<code>If Not IsDbNull(DR.Item("Vm1Pos")) Then....</code>




Svara

Sv: DataSet

Postades av 2004-02-27 21:03:26 - Per Hultqvist

Testa :
<code>
If Not DR.IsNull("Vm1pos") Then
Select Case DR.("Vm1nr").Value.ToString().SubString(0,3)
Case "XYZ":
</code>


Svara

Sv: DataSet

Postades av 2004-02-27 22:22:53 - Kjell Andersson

Nästan!

Det blir fel i raden Select Case vid DR.(


For Each DR In DS.Tables("marken").Rows
If Not DR.IsNull("Vm1pos") Then
Select Case DR.("Vm1nr").Value.ToString().SubString(0,3)
Case "ABC"
ListBox1.Items.Add(DR("vm1nr").ToString)
End Select
End If
Next


Svara

Sv: DataSet

Postades av 2004-02-28 01:08:14 - Per Hultqvist

Det underlättar om du talar om vilket felmeddelande och vilken typ av exception du får :-)

Kan kolumnen Vm1nr innehålla Null? I sådana fall måste du ta hand om detta, t ex så här :
<code>
Dim Vm1nr As String=""

For Each DR In DS.Tables("marken").Rows
If Not DR.IsNull("Vm1pos") Then
If Dr.IsNull("Vm1nr") Then
Vm1nr=""
Else
Vm1nr=DR.("Vm1nr").Value
End If
Select Case Vm1nr.SubString(0,3)
Case "ABC"
ListBox1.Items.Add(DR("vm1nr").ToString())
Case else
' Vm1nr är null, ta hand om detta
End Select
End If
Next
</code>

Notera även att om strängen i kolumnen Vm1nr har en längd som är mindre än 3 så smäller Substring().


Svara

Sv: DataSet

Postades av 2004-02-28 01:35:19 - Pelle Johansson

Du kan även ändra DS.Tables("marken").Rows till DS.Tables(0).Rows om du vet med dig att det är det första datasetet och du kanske inte namngett det.


Svara

Sv: DataSet

Postades av 2004-02-28 10:39:58 - Kjell Andersson

Vid Select Case DR.( blir det en våglinje under parentesen som indikerar något fel och när jag kör programmet så kommer meddeland om fel i Build-processen, vill du ändå fortsätta? När jag fortsätter så är det som att ALLT selecteras inte bara de som har "ABC" som första bokstäver.


Svara

Sv: DataSet

Postades av 2004-02-28 11:15:12 - Kjell Andersson

När jag kör samma kod idag får jag följande felmeddelande

An unhandled exception of type 'System.MissingMemberException' occurred in microsoft.visualbasic.dll

Additional information: Public member 'Value' on type 'String' not found.


Svara

Sv: DataSet

Postades av 2004-02-28 16:42:15 - Per Hultqvist

Jag ber om ursäkt, det var en bugg i min kod, så går det ibland när man skriver kod direkt från skallen utan att kunna testa den. Det blev en punkt för mycket på en av raderna (se nedan). Testa igen, och let me know...
<code>
Dim Vm1nr As String=""

For Each DR In DS.Tables("marken").Rows
If Not DR.IsNull("Vm1pos") Then
If Dr.IsNull("Vm1nr") Then
Vm1nr=""
Else
Vm1nr=DR("Vm1nr").Value ' <----- Här var det fel...
End If
Select Case Vm1nr.SubString(0,3)
Case "ABC"
ListBox1.Items.Add(DR("vm1nr").ToString())
Case else
' Vm1nr är null, ta hand om detta
End Select
End If
Next
</code>


Svara

Sv: DataSet

Postades av 2004-02-28 18:40:20 - Kjell Andersson

Det blir samma fel som tidigare och med raden Vm1nr=DR("Vm1nr").Value markerad som står efter Else


Svara

Sv: DataSet

Postades av 2004-02-29 10:44:14 - Kjell Andersson

Det här funkar

Dim sSql As String = "select * from cykelpilar"

Dim objConn As New OleDb.OleDbConnection(sConnection)
Dim objDataAdapter As New OleDb.OleDbDataAdapter(sSql, objConn)
Dim objDS As New DataSet()
Dim objTable As DataTable
Dim dr As DataRow

Här kommer koden i knappen

objConn.Open()
objDataAdapter.Fill(objDS, "marken")
objConn.Close()

objTable = objDS.Tables("marken")

For Each dr In objDS.Tables("marken").Rows
ListBox1.Items.Add(dr("vm1nr").ToString)
Next


Raden som skall stå efter raden For Each verkar också funka
If Not dr.IsNull("Vm1pos") Then

Felen uppstår när det skall kolla de tre första tecknen i kolumnen Vm1nr (det finns ingen där som är tom) eller inne i Select-satsen eftersom alla poster listas.


Svara

Sv: DataSet

Postades av 2004-03-01 15:24:48 - Kjell Andersson

Så här funkar det

Select Case DR("Vm1nr").ToString().SubString(0,3)


alltså utan Value i koden


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 721
27 958
271 751
5 664
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