webForumDet fria alternativet

Adapter och fylla dataset

.NET

8 svar · 718 visningar · startad av Calevan

Medlem sedan maj 20031 173 inlägg
Frågan#1

Hej!

Är ny på det här med .NET och försöker nu göra en databaskoppling samt hämta ut informationen i databasen och lista den på en aspx sida. Så här långt (kort) har jag kommit nu:

<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">

<head>
 <title>Fredriks bilder</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<%
    Dim myConnection As New MySql.Data.MySqlClient.MySqlConnection("server=x; uid=xxx; pwd=yyy; database=zzz;")
    Dim strSQL As String = "SELECT ID, Titel, Katalog, Datum, Fotograf FROM tblAlbum ORDER BY Datum DESC, Katalog DESC"

Try
    myConnection.Open()

Catch ex As MySql.Data.MySqlClient.MySqlException
response.write (ex.Message)
End Try
%>

Jag har sökt runt lite och jag tror att jag behöver någon form av adapter och sen ska jag med hjälp av Fill fylla ett dataset med informationen. sen kan jag stänga kopplingen till databasen och ta hand om informationen. Stämmer detta?

Mitt stora problem är att jag inte vet hur detta ska göras. I alla exempel jag hittar så används ODBC kopplingar till databasen (och till adaptern), men det gör ju inte jag?

tacksam för hjälp!

Medlem sedan okt. 20041 556 inlägg
#2

Du måste nog gå igenom grunden, om du är nybörjare. Så som du gör är inte helt bra.
Du kan inte tänka gammal ASP. Lägg din kod i en codefile i ex. Page_load och fyll ett dataset. Sen så kan du använda ditta dataset att binda till ex. en gridview.

/MVH

Medlem sedan maj 20031 173 inlägg
#3

tack för dina kommentarer, jag ska kolla på det. Har bläddrat i flera böcker och kollat runt på nätet. Får dock alltid problem med att de alltid är generella beskrivningar och exempel som inte passar i mitt fall. Hade därför hoppats på att ialla fall få ihop en kod som fungerat och sen fortsätta läsningen.

Medlem sedan jan. 20022 440 inlägg
#4

Alla måste vi börja någonstans och du är helt fel ute. Om du är otålig till naturen så kommer du få svårt att göra någonting vettigt i .NET.

Det är fruktansvärt stort och om du inte lär dig rätt från början är det nog bättre du ser dig om efter något annat ramverk att utveckla i.

Det finns en anledning att det är generellt! Titta gärna på microsofts dra&släpp lösningar som SqlDataSource, ObjectDataSource, AccessDataSource för att komma vidare. Mycket bra läsning finns på ASP.NET där de har Video tutorials för den som inte orkar läsa själv. http://www.asp.net/learn

Medlem sedan maj 20031 173 inlägg
#5

Hej!

Jag har fortsatt läsa och jag har nu fått fram en fungerade kod som gör det jag ville. Skulle önska att ni tittar på den och ser om det är något jag gör fel nu. Om detta är rätt kommer jag gå och låna om de där ASP.NET böckerna och läsa från grunden, jag ville bara få en liten kick-start :)

tack!

<%@ Page Language="VB" Debug="true" %>

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="MySql.Data.MySqlClient" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">

<script language="VB" runat="server">

    Sub Page_Load(ByVal Sender As Object, ByVal ea As EventArgs)

        Dim myConnection As New MySqlConnection("server=xxxxx; uid=xxxx; pwd=xxx; database=xx;")
        Dim myCommand As New MySqlCommand()
        Dim myDataAdapter As New MySqlDataAdapter()
        Dim myDataSet As New DataSet()
        Dim myDataView As New DataView()
        
        
        myCommand.Connection = myConnection
        myCommand.CommandText = "SELECT ID, Titel, Datum, Fotograf FROM tblAlbum ORDER BY Datum DESC, Katalog DESC"
             
        Try
            myConnection.Open()
            
            myDataAdapter.SelectCommand = myCommand
            myDataAdapter.Fill(myDataSet)

            myConnection.Close()
        
            myDataList.DataSource = myDataSet
            myDataList.DataBind()
            
        Catch ex As MySqlException
            Select ex.Number
                Case 0
                    Response.Write("Cannot connect to server. Contact administrator")
                Case 1045
                    Response.Write("Invalid username/password, please try again")
            End Select
        End Try
    End Sub

</script>

<head>
 <title>Fredriks bilder</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <meta name="robots" content="noindex, nofollow">
 <link rel="stylesheet" href="style/style.css" type="text/css" />
</head>

<body id="albumsida">
 <div class="album"><b>Album</b></div>
 <div class="datum"><b>Datum</b></div>
 <div class="fotograf"><b>Fotograf</b></div>
 
	<ASP:Repeater id="myDataList" runat="server">
		<ItemTemplate>
		<div class="album"><a target="_blank" href="visa.aspx?AlbumID=<%# DataBinder.Eval(Container.DataItem, "ID") %>"><%# DataBinder.Eval(Container.DataItem, "Titel")%></a></div>
		<div class="datum"><%# DataBinder.Eval(Container.DataItem, "Datum") %></div>
		<div class="fotograf"><%# DataBinder.Eval(Container.DataItem, "Fotograf")%><br /></div>
		</ItemTemplate>
	</ASP:Repeater>

</body>
</html>

Sidan går att beskåda här: http://bilder.acrux.se/

Medlem sedan maj 20012 812 inlägg
#6

Calven skrev:

Sidan går att beskåda här: http://bilder.acrux.se/

Vad skådar mitt norra öga!?!??!?!

Är det en flash applikation på en .NET site? Hur kan man vara så "otrogen" mot stackars Microsoft, givetviss måste den skrivas om till en silverlight-version, där du kan använda din .NET kunskaper och WPF ;)

- M

Medlem sedan okt. 20041 556 inlägg
#7

Datavyn kan du ta bort eftersom den aldrig används.
Dim myDataView As New DataView()
Annars så ser det väl ok ut.

Medlem sedan maj 20031 173 inlägg
#8

Gladh skrev:

Calven skrev:

Sidan går att beskåda här: http://bilder.acrux.se/

Vad skådar mitt norra öga!?!??!?!

Är det en flash applikation på en .NET site? Hur kan man vara så "otrogen" mot stackars Microsoft, givetviss måste den skrivas om till en silverlight-version, där du kan använda din .NET kunskaper och WPF ;)

- M

hehe, tyckte bara det var en snygg flash visning av bilderna, och att sätta mig och koda en sådan varken jag kan eller har jag tid med. Men om du gör en så skriver jag gladeligen ett långt tacktal till dig på sidan :)

Travoni skrev:

Datavyn kan du ta bort eftersom den aldrig används.
Dim myDataView As New DataView()
Annars så ser det väl ok ut.

ah, missade ta bort den. man tackar.

Medlem sedan jan. 20022 440 inlägg
#9

Klart det är snyggt men jag håller med Gladh, det är hädelse! Ungefär som att säga amen i badhuset!

274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)