Avatar billede OnkelJoakim Novice
10. marts 2005 - 17:15 Der er 8 kommentarer og
1 løsning

Newbiespg: Hvordan får jeg mine data frem i en tabel?

Hej eksperter!


Jeg har danhost som udbyder til mit site. Danhost har asp.net. Jeg har et spørgsmål. Hvordan får jeg data frem i en tabel når jeg har en MySql database?

Jeg har fået følgende links til en connector til mysql fra dem:
http://dev.mysql.com/doc/mysql/en/odbc-net-op-c-sharp-cp.html
http://dev.mysql.com/doc/mysql/en/odbc-net-op-vb-cp.html

Jeg har følgende kode i myvb.vb som ligger i mit \code

' @sample    : myvb.vb
' @purpose  : Demo sample for ODBC.NET using MyODBC
' @author    : Venu, <venu@mysql.com>
'
' (C) Copyright MySQL AB, 1995-2004
'
'
'
' build command
'
' vbc /target:exe
'    /out:myvb.exe
'    /r:Microsoft.Data.Odbc.dll
'    /r:System.dll
'    /r:System.Data.dll
'
Imports Microsoft.Data.Odbc
Imports System
Module myvb
    Sub Main()
        Try
            'MyODBC 3.51 connection string
            Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _
                          "SERVER=mysql.danhost.dk;" & _
                          "DATABASE=minDatatabase;" & _
                          "UID=user;" & _
                          "PASSWORD=password;" & _
                          "OPTION=3;"
            'Connection
            Dim MyConnection As New Data.Odbc.OdbcConnection(MyConString)
            MyConnection.Open()
            Console.WriteLine("Connection State::" & MyConnection.State.ToString)
            'Drop
            Console.WriteLine("Dropping table")
            Dim MyCommand As New Data.Odbc.OdbcCommand()
            MyCommand.Connection = MyConnection
            MyCommand.CommandText = "DROP TABLE IF EXISTS my_vb_net"
            MyCommand.ExecuteNonQuery()
            'Create
            Console.WriteLine("Creating....")
            MyCommand.CommandText = "CREATE TABLE my_vb_net(id int, name varchar(30))"
            MyCommand.ExecuteNonQuery()
            'Insert
            MyCommand.CommandText = "INSERT INTO my_vb_net VALUES(10,'venu')"
            Console.WriteLine("INSERT, Total rows affected:" & MyCommand.ExecuteNonQuery())
            'Insert
            MyCommand.CommandText = "INSERT INTO my_vb_net VALUES(20,'mysql')"
            Console.WriteLine("INSERT, Total rows affected:" & MyCommand.ExecuteNonQuery())
            'Insert
            MyCommand.CommandText = "INSERT INTO my_vb_net VALUES(20,'mysql')"
            Console.WriteLine("INSERT, Total rows affected:" & MyCommand.ExecuteNonQuery())
            'Insert
            MyCommand.CommandText = "INSERT INTO my_vb_net(id) VALUES(30)"
            Console.WriteLine("INSERT, Total rows affected:" & MyCommand.ExecuteNonQuery())
            'Update
            MyCommand.CommandText = "UPDATE my_vb_net SET id=999 WHERE id=20"
            Console.WriteLine("Update, Total rows affected:" & MyCommand.ExecuteNonQuery())
            'COUNT(*)
            MyCommand.CommandText = "SELECT COUNT(*) as TRows FROM my_vb_net"
            Console.WriteLine("Total Rows:" & MyCommand.ExecuteScalar())
            'Select
            Console.WriteLine("Select * FROM my_vb_net")
            MyCommand.CommandText = "SELECT * FROM my_vb_net"
            Dim MyDataReader As Data.Odbc.OdbcDataReader
            MyDataReader = MyCommand.ExecuteReader
            While MyDataReader.Read
                If MyDataReader("name") Is DBNull.Value Then
                    Console.WriteLine("id = " & CStr(MyDataReader("id")) & "  name = " & _
                      "NULL")
                Else
                    Console.WriteLine("id = " & CStr(MyDataReader("id")) & "  name = " & _
                                          CStr(MyDataReader("name")))
                End If
            End While
            'Catch ODBC Exception
        Catch MyOdbcException As Data.Odbc.OdbcException
            Dim i As Integer
            Console.WriteLine(MyOdbcException.ToString)
            'Catch program exception
        Catch MyException As Exception
            Console.WriteLine(MyException.ToString)
        End Try
    End Sub
End Module


Hordan laver jeg så en side som viser mine data?

Med venlig hilsen

Rasmus Hansen
Avatar billede burningice Nybegynder
10. marts 2005 - 17:34 #1
du kan starte med at læse nogle tutorials:

http://www.dotnetjunkies.com/quickstart/aspplus/doc/webdataaccess.aspx#serverdata

Dernæst bør du skaffe denne connector fremfor ODBC:

http://www.mysql.com/products/connector/net/

Og til sidst ændrer du alle Sql fra tutorialen til MySql (Eks. SqlConnection = MySqlConnection, SqlCommand = MySqlCommand osv).
Avatar billede OnkelJoakim Novice
10. marts 2005 - 17:36 #2
Jeg vil kigge på det...


Thx for et hurtigt svar ;-)
Avatar billede burningice Nybegynder
11. marts 2005 - 10:47 #3
:) lægger lige et svar, just in case
Avatar billede OnkelJoakim Novice
11. marts 2005 - 13:19 #4
Hej cyberfessor!


Det kan godt være at det er et lidt tosset spg, men når jeg downloader den connector du henviser til så får jeg en msi-fil.
Hvordan får jeg den ud på mit site?
Avatar billede burningice Nybegynder
11. marts 2005 - 17:39 #5
Avatar billede OnkelJoakim Novice
12. marts 2005 - 01:52 #6
Hejsa igen!

Jeg er ikke lige helt klar over hvor det går galt, men jeg får Runtime Error ud af følgende kode:

Jeg har hentet connectoren (MySql.Data.dll) og uploaded den i \bin

Er der nogen logisk forklaring?

Kan du / i evt smide en stump kode som virker, hvor jeg kun skal ændre min sql-string og connectionstring til MySql-db'en?



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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">

    Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim myConnection As New MySqlConnection()
        myConnection.ConnectionString = "server(mysql.danhost.dk);database=minDatabase;uid=username;password=password;"
       
        myConnection.Close()
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Min db-connection</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
    </div>
    </form>
</body>
</html>
Avatar billede burningice Nybegynder
12. marts 2005 - 09:13 #7
hvilken runtime error får du?... du skal også huske at kopiere SharpZLib-filen med over i \bin
Avatar billede OnkelJoakim Novice
12. marts 2005 - 13:07 #8
Jeg har uploaded nogle screenshots her:

bin-folder
http://www.abc72.dk/images/bin.jpg

Runtime Error
http://www.abc72.dk/images/RuntimeError.jpg


web.config

<?xml version="1.0"?>
<!-- Note: As an alternative to hand editing this file you can use the web admin tool to
    configure settings for your application. Use the Website->Asp.Net Configuration option
    in Visual Studio.
    A full list of settings and comments can be found in machine.config.comments usually
    located in \Windows\Microsft.Net\Frameworks\v2.x\Config -->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <appSettings/>
    <connectionStrings/>
    <system.web>
        <!--
            Set compilation debug="true" to insert debugging symbols into the compiled page.
            Because this affects performance, set this value to true only during development.
        -->
        <compilation debug="true" urlLinePragmas="true"/>
        <!--
            The <authentication> section enables configuration of the security authentication
            mode used by ASP.NET to identify an incoming user.
        -->
        <authentication mode="Windows"/>
        <!--
            The <customErrors> section enables configuration of what to do if/when an unhandled
            error occurs during the execution of a request.  Specifically, it enables developers
            to configure html error pages to be displayed in place of a error stack trace.
        -->
        <customErrors mode="Off" >
            <!--
            <error statusCode="403" redirect="NoAccess.htm"/>
            <error statusCode="404" redirect="FileNotFound.htm"/>
        -->
        </customErrors>
    </system.web>
</configuration>


Jeg håber at det kan hjælpe


Rasmus Hansen
Avatar billede OnkelJoakim Novice
14. marts 2005 - 16:14 #9
Har fået det løst!

Dim MyConnection As New MySql.Data.MySqlClient.MySqlConnection("Database=mydatabase;Data Source=mysql.danhost.dk;User Id=username;Password=password;")
        Dim MyCommand As New MySqlCommand("SELECT * FROM medlemmer;", MyConnection)
        Dim myDA As New MySqlDataAdapter()
        myDA.SelectCommand = MyCommand

Tak for hjælpen!
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