Avatar billede plaf Nybegynder
23. september 2005 - 13:24 Der er 11 kommentarer og
1 løsning

visual studio.net - MySql

Hej!

Er helt ny udi idet her med ASP.Net

Bruger Visual Studio.Net og har oprettet et nyt projekt.

Det er lykkedes mig at gå ind via Tools og oprette en connection til min MySQL-database. Nu kan jeg under Server Explorer - DataConnections også se databasen med tilhørende tabeller.

Men, men men...

Hvordan kommer jeg videre, så jeg kan bruge og ændre data fra databasen i mine forms?

Har givet spørgsmålet 200 point, men så regner jeg også med en detaljeret forklaring fra en ekspert ;-)

/Plaf
Avatar billede snepnet Nybegynder
23. september 2005 - 13:47 #1
den meget hurtige start er, at du laver en drag/drop af tabellen fra serverexploreren, og til en webform i designview.
hvis du bruger den nyeste version af vs2005, er det ikke engang så slemt det du ender op med.
men der er et hav af forskellige muligheder for den slags.
tag et kig på ADO.NET - det er det der ligger til grund for den slags.
mvh
Avatar billede snepnet Nybegynder
23. september 2005 - 13:50 #2
gode entries:

http://beta.asp.net (hvis du bruger den nyeste)
http://www.asp.net (hvis du buger den "gamle")

og en meget fin stak oplysninger via det her:
http://samples.gotdotnet.com/quickstart/howto/

mvh
Avatar billede plaf Nybegynder
23. september 2005 - 13:50 #3
Som skrevet giver jeg 200 point fordi jeg vil have en grundig forklaring - hvad skal ligge i hvilke filer (helst så Connection-strengen ligger i en fil for sig).

Kan for øvrigt ikke dragge and droppe tabeller ind på min form. Får en fejl.

/Plaf
Avatar billede plaf Nybegynder
23. september 2005 - 13:51 #4
Bruger for øvrigt vs2003 og har pt. ikke lige råd til andet...

/Plaf
Avatar billede plaf Nybegynder
23. september 2005 - 14:22 #5
Snøft - kan godt selv bruge google og har også fundet alle de sider, der linkes til - er måske bare lidt langsom, men det hjalp mig altså ikke meget...

Prøvede i Matrix og der kunne jeg godt finde ud af det...

/Plaf
Avatar billede snepnet Nybegynder
23. september 2005 - 15:20 #6
Der er rigtig mange forskellige måder at lave (eller undlade at lave) datalag på.
Din connectionstring kan du lægge i web.config - du kan se et eksempel på at benytte web.config her:
http://samples.gotdotnet.com/quickstart/aspplus/default.aspx?url=/quickstart/aspplus/doc/configoverview.aspx

den kode der skal til er ikke afhængig af dit udviklingsmiljø som udgangspunkt, så det du kan lave i webmatrix kan du også lave i vs (selvom der self. kan være forskellige wizards etc. i de to værktøjer.

du kan lige få et programmatisk eksempel her - baseret på at du benytter MySqlConnector (http://dev.mysql.com/downloads/connector/net/1.0.html og dukumentation her http://dev.mysql.com/doc/mysql/en/connector-net.html).

// lav en forbindelse
MySqlConnection conn = new MySqlConnection(<din connectionstring>);

// og en kommando
MySqlCommand command = new MySqlCommand("select blabla", conn);

// brug en adapter til at få data fra basen og til et dataset
MySqlDataAdapter adapter = new MySqlDataAdapter(command);

// opret et dataset, og fyld det med adapteren
DataSet ds = new DataSet();
adapter.Fill(ds);

og hvis du så trækker et datagrid ind på din form, og giver det ID="grid" - kan du :

// angiv hvilke data griddet skal vise
grid.DataSource = ds;

// og sørg for at det sker
grid.DataBind();

Ovenstående er kun én ud af mange forskellige måder at gøre den slags på - men du kan jo lige se om du kan få noget ud af det.

mvh
Avatar billede plaf Nybegynder
23. september 2005 - 15:23 #7
Ligner et mere brugbart svar :-)

Vender tilbage - håber jeg har fået Internet hjemme - så jeg kan kikke på det i weekenden (har været nede siden 2. sept. pga. lynnedslag...)

/Plaf
Avatar billede snepnet Nybegynder
23. september 2005 - 15:30 #8
du kan bare vende tilbage når det passer - jeg har bare skrevet koden her, så det er sansynligt at det ikke kompilere sådan lige med det samme (og du skal have et par using ...  i toppen af klassen... du må lige sige til, hvis du ikke er med på den).
held og lykke med det.
mvh
Avatar billede plaf Nybegynder
26. september 2005 - 10:27 #9
Ak ja - havde besøg af TDC, som endte med ikke at tjekke forbindelsen, fordi der nu var "problemer i Jylland". Lørdag fejlmeldte vi så IGEN og fik en teknikker i røret. Han kunne så ikke umiddelbart hjælpe, men lovede at vi ville blive ringet op søndag af en "der vidste noget mere". Det blev vi også - og denne teknikker endte IGEN med blot at fejlmelde linien.

Nok om mine private frustrationer...

Har fået det her til at virke:

I Global.asax ligger:

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
  ' Fires when the application is started
  Application("ConnString") = "MinConnString"
End Sub

Login.aspx:
<%@ Page CompilerOptions='/R:"C:\Program Files\Microsoft.NET\Odbc.Net\Microsoft.data.odbc.dll"' Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="WinWeb.WebForm2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <title>WebForm2</title>
        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
        <meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
        <meta content="JavaScript" name="vs_defaultClientScript">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
            <ASP:DataGrid id="oDataGrid" Runat="server">
            </ASP:DataGrid></form>
    </body>
</HTML>

login.aspx.vb:

Imports System.Data

Public Class WebForm2
    Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents oDataGrid As System.Web.UI.WebControls.DataGrid

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim oConnection As Odbc.OdbcConnection = New Odbc.OdbcConnection(Application("ConnString"))
        Dim sSQL As String = "SELECT * FROM adgang"
        Dim oDataAdapter As Odbc.OdbcDataAdapter = New Odbc.OdbcDataAdapter(sSQL, oConnection)
        Dim oDataSet As DataSet = New DataSet
        oDataAdapter.Fill(oDataSet)
        oDataGrid.DataSource = oDataSet
        oDataGrid.DataBind()
    End Sub

End Class
Avatar billede snepnet Nybegynder
26. september 2005 - 10:48 #10
glimrende - altså ikke det med tdc :o(

jeg ved ikke om du har kigget på sådan noget med viewstate og den slags, men du skal være opmærksom på, at default er at frameworket hælder dine kontrollers tilstand ud i et skjult felt.

dit grid kan i forbindelse med et postback retableres udfra indholdet i viewstate, hvorfor det - hvis du ikke har slået dit viewstate fra - er at anbefael, at du ikke går på databasen igen, hvilket du kan fikse sådan her:

If Not Page.IsPostBack Then
        Dim oConnection As Odbc.OdbcConnection = New Odbc.OdbcConnection(Application("ConnString"))
        Dim sSQL As String = "SELECT * FROM adgang"
        Dim oDataAdapter As Odbc.OdbcDataAdapter = New Odbc.OdbcDataAdapter(sSQL, oConnection)
        Dim oDataSet As DataSet = New DataSet
        oDataAdapter.Fill(oDataSet)
        oDataGrid.DataSource = oDataSet
        oDataGrid.DataBind()
End If

mvh
Avatar billede plaf Nybegynder
26. september 2005 - 10:52 #11
Hej Snepnet!

Næ, jeg har ikke kikket på dt der med viewstate. Det vil jeg gøre. Vil du poste et svar? - Du hjalp mig jo til en løsning :-)

/Plaf
Avatar billede snepnet Nybegynder
26. september 2005 - 10:53 #12
skal du få her :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester