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


Operator vid DataRow ....

Postades av 2004-08-27 15:30:29 - Patrik Strandberg, i forum vb.net, Tråden har 10 Kommentarer och lästs av 761 personer

Har följde koder som inte funkar .......

<code>
if myRow("nomore") = 1 then
</code>

Hur ska det skrivas ???
'nomore' är en tinyInteger


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-27 17:32:14 - Johan Djupmarker

Du får konvertera värdet till en int, är det såhär man gör i VB.NET tro?

if CInt(myRow("nomore")) = 1 then

/Johan


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-27 18:53:02 - Per Hultqvist

Du säger inte om du får kompileringsfel eller om det är ett logiskt fel som gör att If-satsen inte beter sig så som du avser. Men koden ska gå att kompilera om Option Strict är Off vilket jag tror är default i VB.net. Om man aktiverat Option Strict så måste man göra som Johan säger, eller något av dessa alternativ :

1) if CType(myRow("nomore"),Integer) = 1 then

2) if myRow("nomore")).ToString = "1" then

3) if DirectCast(myRow("nomore"),Integer) = 1 then

Själv föredrar jag CType() före alla Cxxx() men det är väl en smaksak. Undantaget är när man vet att den underliggande datatypen i en variabel är deklarerad som Object (vilket värdena i ett dataset är). Då kan DirectCast vara lämpligare...

Är det inte ett kompileringsfel så får du se över vad myRow("nomore") innehåller för värde...


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-27 20:34:11 - Patrik Strandberg

Jag får följande "fel" vid kodläggningen ...

<code>
Operator '=' is not defined for types 'Sytem.Data.Datarow' AND 'Integer'
</code>

Har missat Ctype varianten, har använt Convert.toInt16 i andra sammanhang men ska kolla närmare på Ctype så tack för den inputen ... har nån mer någon att tillägga så shoot !


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-27 21:11:25 - Patrik Strandberg

Bifogar den aktuella koden för kommentarer .. kan kanske va min lösning på filter som ställer till det !?

<code>
Dim myTab As DataTable

Try

'tilldelar tabellen datasettet
myTab = dsMarkisdata.Tables("vavdata")
'filtrerar
Dim myRow As DataRow() = myTab.Select("vav_id = '" & txtDuknummer.Text & "'")

If myRow.Length <= 0 Then
'ingen väv med detta nummer hittades
MsgBox("Väv hittades ej !")
Else

If myRow("nomore") = 1 Then
'....
End If

'visar designnamn
lblDesignnamn.Text = Convert.ToString(myRow("designnamn"))
cmbKB.Text = Convert.ToString(myRow("kantband"))

cmbPass.Items.Clear()
cmbPass.Items.Add(myRow("ver1"))
cmbPass.Items.Add(myRow("ver2"))
cmbPass.Items.Add(myRow("ver3"))
cmbPass.Items.Add(myRow("ver4"))

End If

Catch ex As Exception
MsgBox("Fel vid hämtning av dukdata !" & vbCrLf & ex.Message)
myRow = Nothing
myTab = Nothing
End Try

myRow = Nothing
myTab = Nothing
</code>


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-27 23:49:08 - Johan Olsson

Nu kanske jag är lite onykter, men det är faktiskt fredag

Varför har du parenteser efter "Dim myRow As DataRow" ?

Då får du ju en array, eller ?


/Johan


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-28 18:24:25 - Patrik Strandberg

jepp ... helt rätt ... insåg det sent igårkväll .... nykter som jag var ........
tar jag bort dom funkar det inte alls ...

vad jag är ute efter är helt enkelt är ett smidigt sätt att ta fram ett specifikt recodset i ett dataset utan att behöva köra igenom alla raderna .. hittar inga bra beskrivningar för detta ....


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-29 01:25:57 - Per Hultqvist

Det ska vara parenteser antingen efter variabelnamnet eller efter typen (DataRow) eftersom metoden Select returnerar en array av DataRow:s.

Fungerade typkonverteringen med CType? Är problemet löst?


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-30 07:47:32 - Johan Olsson

Ha, nu e man nykter igen...

Saknas det då inte ett parentespar här ?

<code>If myRow("nomore") = 1 Then</code>

borde väl vara

<code>If myRow(0)("nomore") = 1 Then</code>


/Johan


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-30 07:52:59 - Patrik Strandberg

Jo jag löste det, sen om det är en klok lösning låter jag andra att bedömma ...

Jag använde DataView enl. följande för att plocka ut specifik post i ett datatset ....

<code>

Dim myView As New DataView

Try
'tilldelar en dataview tabell från dataset
'dataview filtreras sedan med aktuell färg som underlag
myView.Table = dsMarkis.Tables("vavdata")
myView.RowFilter = "vav_id = '" & txtDuknummer.Text & "'"

'kollar om väv hittades
If myView.Table.Rows.Count <= 0 Then

MsgBox("Ingen väv hittades med detta nummer !")

Else

lblDesignnamn.Text = myView(0)("designnamn")
cmbKB.Text = myView(0)("kantband")

cmbPass.Items.Clear()
cmbPass.Items.Add(myView(0)("ver1"))
cmbPass.Items.Add(myView(0)("ver2"))
cmbPass.Items.Add(myView(0)("ver3"))
cmbPass.Items.Add(myView(0)("ver4"))

'prisgrupp för aktuell väv
dataMarkis.duk_prisgrupp = myView(0)("prisgrupp")

end if

Catch ex As Exception
MsgBox("Fel vid hämtning av vävdata !" & vbCrLf & ex.Message)
End Try
</code>


Svara

Sv: Operator vid DataRow ....

Postades av 2004-08-30 07:57:29 - Patrik Strandberg

Hehe .... Johan du ändrade ditt inlägg samtidigt som jag lade in min lösning och visst har du rätt vilket jag insåg sent om sider.
Sen valde jag DataView lösningen för den kändes smidig ... :o)

Tack för din hjälp ...


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 722
27 958
271 751
229
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