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


Lite olika problem, se om du kan hjälpa mig något. :)

Postades av 2006-08-16 16:08:01 - Johannes Strömberg, i forum vb.net, Tråden har 1 Kommentarer och lästs av 686 personer

Halloj, nu är jag igång igen, men det här med .NET är inte helt smidigt att förstå


Vi tar det i tur och ordning:

Jag har mest hållt på med ASP (VBscripting) och när jag vill visa lite databasposter och köra SQL-kommandon så har jag gjort enligt följande:

<code>

sSQL = "SELECT namn,efternamn FROM tblNamn WHERE namn='Olle'"
Set rs = Conn.Execute(sSQL)

if rs.EOF then

'Gör nåt, det finns inga poster

else

'Visa namnet
response.write "Hittade: "& rs("namn") &" "& rs("Efternamn")

end if
</code>

VB.NET funkar tydligen inte riktigt så. Men efter att ha läst lite om det hela här på Pellesoft så har jag gjort följande variant:

<code>
Dim rs As New DataSet
Dim Conn As New SqlConnection
Dim dbAdapter As New SqlDataAdapter
Conn.ConnectionString = "Data Source = 111.222.333.111;Initial Catalog=testDB;UID=sa;PWD=losenord"


Try

sSQL = "SELECT namn,efternamn FROM tblNamn WHERE namn = 'Olle'"
dbAdapter.SelectCommand = New SqlCommand(sSQL, Conn)
dbAdapter.Fill(rs)

Catch ex As SystemException
' om fel uppstår
Me.StatusBox.Text = sText & vbCrLf & " - SQL-fel:" & vbCrLf & (ex.Message)
End Try
Conn.Close()

</code>

Och det verkar ju funka, men vad finns det för motsvarighet till if rs.EOF then i VB.NET ????
Och hur fasen gör man för att klämma ut värdet i t ex "Efternamn"???


Det var första frågan det..

Nästa fråga är följande, jag har i ASP gjort en liten snurra som gör enligt följande:
<code>
Select Case Left(sRow,7)

Case "DTM+137"
sDTM137 = sRow
sDTM137 = Split(sDTM137,":")
sDTM137f = sDTM137(1)
sDTM137f = Left(sDTM137f,8)
DTM137 = Left(sDTM137f,4) &"-"& Mid(sDTM137f,5,2) &"-"& Right(sDTM137f,2)

Case "DTM+200"
sDTM200 = sRow
sDTM200 = Split(sDTM200,":")
sDTM200f = sDTM200(1)
sDTM200f = Left(sDTM200f,8)
DTM200 = Left(sDTM200f,4) &"-"& Mid(sDTM200f,5,2) &"-"& Right(sDTM200f,2)
End Select
</code>


I VB.NET så försökte jag med följande konststycke:

<code>
Select Case Microsoft.VisualBasic.Left(RowContent, 7)
Case "DTM+137"
sDTM137 = RowContent
sDTM137 = Split(sDTM137, ":")
sDTM137f = sDTM137(1)
sDTM137f = Microsoft.VisualBasic.Left(sDTM137f, 8)
DTM137 = Microsoft.VisualBasic.Left(sDTM137f, 4) & "-" & Microsoft.VisualBasic.Mid(sDTM137f, 5, 2) & "-" & Microsoft.VisualBasic.Right(sDTM137f, 2)

Case "DTM+200"
sDTM200 = RowContent
sDTM200 = Split(sDTM200, ":")
sDTM200f = sDTM200(1)
sDTM200f = Microsoft.VisualBasic.Left(sDTM200f, 8)
DTM200 = Microsoft.VisualBasic.Left(sDTM200f, 4) & "-" & Mid(sDTM200f, 5, 2) & "-" & Microsoft.VisualBasic.Right(sDTM200f, 2)
End Select
</code>


Och, eller hur!! Nej, det faller INTE i god jord. Får följande svar:

Value of type '1-dimensional array of String' cannot be converted to 'String'.


Hur gör man egentligen? Jag har redan fått flera grå hårstrån och bitmärken i kanten av tangentbordet, men jag får ingen knas på de här två frågorna.


M V H
Johannes


Svara

Sv: Lite olika problem, se om du kan hjälpa mig något. :)

Postades av 2006-08-16 17:10:56 - Marcus Gus

<code>
Dim rs As New DataSet
Dim Conn As New SqlConnection
Dim dbAdapter As New SqlDataAdapter
Conn.ConnectionString = "Data Source = 111.222.333.111;Initial Catalog=testDB;UID=sa;PWD=losenord"


Try

sSQL = "SELECT namn,efternamn FROM tblNamn WHERE namn = 'Olle'"
dbAdapter.SelectCommand = New SqlCommand(sSQL, Conn)
dbAdapter.Fill(rs)

Catch ex As SystemException
' om fel uppstår
Me.StatusBox.Text = sText & vbCrLf & " - SQL-fel:" & vbCrLf & (ex.Message)
End Try
Conn.Close()

</code>

Och det verkar ju funka, men vad finns det för motsvarighet till if rs.EOF then i VB.NET ????
Och hur fasen gör man för att klämma ut värdet i t ex "Efternamn"???


Svar:

Ett dataset kan bestå av flera datatables som kan ha relationer med varandra. För att få ut alla rader får du loopa igenom de rader som ligger den datatable där information.

<code>
// i C#

For (int i; i < rs.dtatable[0].rows.count; i++)
{
string name = rs.dtatable[0].rows[i]["Efternamn"];
}


For index As Integer = 1 To rs.dtatable[0].rows.count
dim enamn as string = rs.dtatable[0].rows[i]["Efternamn"].ToString()
Next
</code>


Edit: Menar du att bara titta om det finns rader så funkar ju rs.datatable[0].rows.count = 0



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 725
27 958
271 751
486
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