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


effektivare lösning?

Postades av 2004-07-10 20:49:32 - Mikael Åhlén, i forum asp.net generellt, Tråden har 6 Kommentarer och lästs av 701 personer

Hej alla,

Min fråga är nu om det finns någon smidigare och bättre kod än denna:

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
        Dim strConnectionString As String = "Driver={MySQL ODBC 3.51 Driver};Server=db.domän.net;Port=3306;Option=131072;Stmt=;Database=databas;Uid=användare;Pwd=lösenord;"
        Dim strSQL As String = "SELECT namn, epost FROM testdata ORDER BY uID DESC"

        Dim objConn As New OdbcConnection(strConnectionString)
        Dim objCmd As New OdbcDataAdapter(strSQL, objConn)

        Dim ds As DataSet = New DataSet
        objCmd.Fill(ds, "testdata")

        DataGrid1.DataSource = ds.Tables("testdata").DefaultView
        DataGrid1.DataBind()


Sedan så kan jag ju passa på att fråga en till fråga :)

Jag använder det s.k. webmatrix sättet till den koden men vill använda en code behind-fil men hur ska jag göra med detta: ? (med dll-filen)

<code>
<%@ Page Language="VB" Debug="True" CompilerOptions='/R:"C:\Program Files\Microsoft.NET\Odbc.Net\Microsoft.Data.Odbc.dll"' %>
</code>

// Micke Å


Svara

Sv: effektivare lösning?

Postades av 2004-07-11 11:26:50 - Ola Lindfeldt

Snyggare och bättre är att du skriver ett Data Access Layer (DAL) som kapslar in dina operationer mot databasen, i form av små metoder som ställer SQL frågor och returnerar Dataset/Datareader.

Läs mer om det här:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadonet/html/wriportap2.asp

Där finns även beskrivet hur du lägger in din Connectionstring i web.config filen, som jag också rekommenderar att du gör..



se även Data Access Application Block for .NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp



Svara

Sv: effektivare lösning?

Postades av 2004-07-11 11:48:13 - Andreas Håkansson

Ola,

Som en liten instickare .. du kan använda < url: www.pellesoft.se > utan mellanslag så blick länkarna klickbara direkt. Precis på samma sätt kan du använda < code c# > utan mellanslag, samt byta ut c# mot en lång lista (t.ex sql, xml, html, vb, java etc) för att färgkoda kodsnuttar.

Tänkte det kunde vara bra att veta =)


Svara

Sv: effektivare lösning?

Postades av 2004-07-11 11:51:55 - Fredrik Normén

Micke:

Du du vill skriva så lite kod som möjligt, alltså göra om din kod mindre, så kan du utelämna connection objetket:

<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim strConnectionString As String = "Driver={MySQL ODBC 3.51 Driver};Server=db.domän.net;Port=3306;Option=131072;Stmt=;Database=databas;Uid=användare;Pwd=lösenord;"
Dim strSQL As String = "SELECT namn, epost FROM testdata ORDER BY uID DESC"

Dim objCmd As New OdbcDataAdapter(strSQL, strConnectionString)

Dim ds As DataSet = New DataSet
objCmd.Fill(ds, "testdata")

DataGrid1.DataSource = ds.Tables("testdata").DefaultView
DataGrid1.DataBind()
</code>

/Fredrik Normén NSQUARED2
http://normen.mine.nu/myblog


Svara

Sv: effektivare lösning?

Postades av 2004-07-11 12:25:41 - Mikael Åhlén

Hej, tack för tipsen. Tyvärr så är inte mitt internet så snabbt (fel efter åskan, men ska ha 10mbit egentligen men nu 0,01mbit) så laddnings tiden för alla sidor är cirka 5 min tyvärr och då har jag inte gått in på länkarna ni skrev...

Men finns det någon vettig lösning på att ha Odbc.dll länken i din code behind-fil?

<%@ Page Language="VB" Debug="True" CompilerOptions='/R:"C:\Program Files\Microsoft.NET\Odbc.Net\Microsoft.Data.Odbc.dll"' %>


// Micke


Svara

Sv: effektivare lösning?

Postades av 2004-07-15 23:15:32 - Mikael Åhlén

Hej igen, finns det någon lösning så man kan använda dll-filen i code behind? Det borde väl gå med web.config, men hur?

// Mikael


Svara

Sv: effektivare lösning?

Postades av 2004-07-18 07:17:45 - Patrik Berggren

Rent generellt så behöver du inte använda dig av CompilerOptions överhuvudtaget.

Nu beror det på vilket version av ramverket du kör.

Kör du v1.0 så använder man Microsoft.Data.Odbc.dll
Den filen behöver ligga i /bin foldern för applicationens root

För att använda sig av OdbcConnection, OdbcCommand osv så behöver du "importera" det namespacet så här (.aspx-fil):
<code>
<%@ Page Language="VB" Debug="True" %>
<%@ import Namespace="Microsoft.Data.Odbc" %>
<script runat="server">

Public Sub Page_Load(Sender As object, E As EventArgs)
Dim _cnn As New OdbcCommand("my-conn-string")
'## -- osv ... --
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">

</form>
</body>
</html>
</code>

Kör du v1.1 av ramverket så använder man sig av System.Odbc.Data ("samma som Microsoft.Data.Odbc.dll", fast nu är det "inbyggt" i ramverket, dvs du behöver inte lägga till någon extra dll-fil i din /bin folder):
<code>
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data.Odbc" %>
<script runat="server">

Public Sub Page_Load(Sender As object, E As EventArgs)
Dim _cnn As New OdbcCommand("my-conn-string")
'## -- osv ... --
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">

</form>
</body>
</html>
</code>

Nu är inget av ovanstående sätt att rekomendera.
Du kan ju själv bygga en class i din .vb-fil och sedan kompilera den till en dll:
<code>

Imports System
Imports System.Data
Imports Microsoft.Data.Odbc

Namespace MyUserSpace
Public Class MyUser

Private _userId As Integer
Private _username As String

Public Property UserID() As Integer
Get
Return _userId
End Get
Set(ByVal Value As Integer)
_userId = Value
End Set
End Property

Public Property Username() As String
Get
Return _username
End Get
Set(ByVal Value As String)
_username = Value
End Set
End Property

Public Sub New()

End Sub
End Class

Public MyUserManager
Private _connString As String

Public Property ConnectionString() As String
Get
Return _connString
End Get
Set(ByVal Value As String)
_connString = Value
End Set
End Property

Public Sub New()

End Property

Public Function GetUserById(ByVal id As Integer) As MyUser
Dim _cnn As New OdbcConnection(ConnectionString)
Dim _cmd As New OdbcCommand("", _cnn)
Dim _queryUser As String = "SELECT UserID, Username FROM Users WHERE UserID = ?"
Dim _readUser As OdbcDataReader
Dim _user As New MyUser

_cmd.CommandText = _queryUser

Dim _paramUserID As New OdbcParameter("@UserID", DbType.Int32)
_paramUserID.Value = id

_cmd.Parameters.Add(_paramUserID)

_cmd.Connection.Open()

_readUser = _cmd.ExecuteReader(CommandBehavior.CloseConnection)

If _readUser.Read() Then
_user.UserID = _readUser("UserID")
_user.Useranme = _readUser("Username")
End If

_cmd.Connection.Close

Return _user
End Function
End Class
End Namespace
</code>

För v1.1 av ramverket ändrar du bara Microsoft.Data.Odbc till System.Data.Odbc

Kompilera sedan koden och lägg dll-filen i din apps /bin folder

På aspx-sidan (alt. codebehind, fast det är knöligt med WebMatrix):
<code>
<%@ Page Language="VB" %>
<%@ import Namespace="MyUserSpace" %>
<script runat="server">

Public Sub Page_Load(Sender As object, E As EventArgs)
Dim _userMan As New MyUserManager()
_userMan.ConnectionString = "min-conn-string"

Dim _user As MyUser = _userMan.GetUserById(1)
'## -- osv ... --
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">

</form>
</body>
</html>
</code>

Nu är ovanstående kod INTE testkörd ... bara skriven så där rakt-upp-och-ned ;)

mycket enkla exempel, säkert "fel-tänk" vad gäller lager ... men där kan man diskutera mycket om hur manska bygga upp saker och ting....men du är en bit på väg ifrån "CompilerOptions blahahahfhahah"

cya,
/PatrikB


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 167
27 952
271 704
773
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