MySQL-andmebaasiga ühendamine ASPX-lehelt
Kui soovid ASPX-lehelt luua ühenduse MySQL-andmebaasiga, võib allolevast tekstist olla kasu, et kõigepealt teha lihtne testühendus ja alles seejärel alustada oma projektiga.
Näites on paigaldatud .NET Connector 6.0. Pead panema juurkausta (httpdocs/bin) faili Mysql.Data.dll. Muidu saad testimisel teate: Compiler Error Message: BC30002: Type 'MySqlConnection' is not defined.
Jälgi, et failis web.config oleksid vähemalt need seaded, muidu veateateid ei kuvata:
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Faili Mysql.Data.dll saad alla laadida allolevalt lingilt. Vali Windows Binaries, no installer (ZIP), kopeeri fail käsitsi arhiivist välja ja pane see eespool nimetatud bin-kausta:
http://dev.mysql.com/downloads/connector/net
Seejärel loo kausta httpdocs fail test_mysql.aspx järgmise sisuga (asenda test64user oma andmebaasi kasutajaga ning muuda ka ühendusstringis parool ja andmebaas oma väärtusteks):
<%@ 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>Lihtne MySQL-andmebaasi päring</title>
</head>
<body>
<form runat="server">
<asp:DataGrid id="MySQLDataGrid" runat="server" />
</form>
</body>
</html>
Testiks lõime väikese MySQL-andmebaasi, milles on 2 kirjet:
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'
);
