Kapcsolódás MySQL-adatbázishoz ASPX-oldalról
Ha egy ASPX-oldalról szeretne MySQL-adatbázishoz kapcsolódni, az alábbi leírás segíthet abban, hogy először egy egyszerű tesztkapcsolatot hozzon létre, és csak ezután kezdjen bele a saját projektjébe.
Példaként a .NET Connector 6.0 van telepítve. A gyökérkönyvtárba (httpdocs/bin) el kell helyeznie a Mysql.Data.dll fájlt. Ellenkező esetben tesztelés közben ezt az üzenetet kapja: Compiler Error Message: BC30002: Type 'MySqlConnection' is not defined.
Ügyeljen arra, hogy a web.config fájlban mindenképp szerepeljenek ezek a beállítások, különben nem jelennek meg hibaüzenetek:
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
A Mysql.Data.dll fájlt az alábbi linken töltheti le. Válassza a Windows Binaries, no installer (ZIP) letöltést, másolja ki belőle kézzel a fájlt, és helyezze el a korábban említett bin könyvtárban:
http://dev.mysql.com/downloads/connector/net
Ezután hozza létre a httpdocs könyvtárban a test_mysql.aspx fájlt a következő tartalommal (a test64user helyére írja a saját adatbázis-felhasználóját, és a karakterláncban a jelszót és az adatbázist is cserélje a saját értékeire):
<%@ Page Language="VB" debug="true" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace = "MySql.Data.MySqlClient" %>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim myConnection As MySqlConnection
Dim myDataAdapter As MySqlDataAdapter
Dim myDataSet As DataSet
Dim strSQL As String
Dim iRecordCount As Integer
myConnection = New MySqlConnection("server=localhost; user id=test64user; password=testing; database=webawere_test64db; pooling=false;")
strSQL = "SELECT * FROM testtabel;"
myDataAdapter = New MySqlDataAdapter(strSQL, myConnection)
myDataSet = New Dataset()
myDataAdapter.Fill(myDataSet, "testtabel")
MySQLDataGrid.DataSource = myDataSet
MySQLDataGrid.DataBind()
End Sub
</script>
<html>
<head>
<title>Egyszerű MySQL-adatbázis-lekérdezés</title>
</head>
<body>
<form runat="server">
<asp:DataGrid id="MySQLDataGrid" runat="server" />
</form>
</body>
</html>
Tesztként létrehoztunk egy kis MySQL-adatbázist 2 rekorddal:
CREATE TABLE `webawere_test64db`.`testtabel` (
`id` SMALLINT NOT NULL AUTO_INCREMENT ,
`veld1` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = InnoDB
INSERT INTO `webawere_test64db`.`testtabel` (
`id` ,
`veld1`
)
VALUES (
NULL , 'Waarde1'
), (
NULL , 'Waarde2'
);
