Vissza az előzőleg látogatott oldalra (nem elérhető funkció)Vissza a tananyag kezdőlapjára (P)Ugrás a tananyag előző oldalára (E)Ugrás a tananyag következő oldalára (V)Fogalom megjelenítés (nem elérhető funkció)Fogalmak listája (nem elérhető funkció)Oldal nyomtatása (nem elérhető funkció)Oldaltérkép megtekintése (D)Keresés az oldalon (nem elérhető funkció)Súgó megtekintése (S)

Open source fejlesztő eszközök –Térbeli adatbázisok építése – A MySql / MySql adatbázis alkalmazások fejlesztése VS.NET-ben

Tanulási útmutató

Összefoglalás

Ebben a leckében áttekintjük a MySql adatbázisok VS.NET-ből történő elérésének, manipulálásának lehetőségeit, módozatait.

MySql adatbázis alkalmazások fejlesztése VisualStudio.net-ben

Amikor MySql alkalmazást készülünk fejleszteni MS VS.net-ben, először fel kell telepítsük a .net connetort. Ezzel felkerülnek a gépünkre a MySql .net-ből történő eléréséhez szükséges dll-ek, amelyek révén referálhatjuk a MySql névterét. Ez a következőképpen történik. Hozzunk létre .net-ben egy új projectet (lehet desktop, vagy webes). A Project menü Add reference... almenüjére kattintva megnyilik egy dialógus ablak, ahol megkereshetjük és kiválaszthatjuk a szükséges dll-t (például a MySql.Data.dll).

Ettől kezdve a MySql client névtér rendelkezésünkre áll. Persze importálni kell a MySql.Data névteret (Imports MySql.Data.MySqlClient). Ebben számos olyan providerfüggő osztályt találunk, ami csak a MySql-re vonatkozik.

MySql-re vonatkozó néhány provider függő osztály:

MySqlConnection

Forráskód
Dim cnn As New MySqlConnection
Jobb ha a Using-ot használjuk a következő formában:
        Using cnn As New MySqlConnection
            cnn.ConnectionString = cnnBuilder.ConnectionString
            Try
                cnn.Open()  ‘ megnyitjuk a connectiont
 utasítások
            Catch ex As MySqlException
                Call MsgBox("Nem sikerült a kapcsolat felvétel" & vbCrLf & ex.Message, MsgBoxStyle.Critical)
                cnn.Close() ’bezárjuk a connectiont
            End Try
        End Using

Vissza a tartalomjegyzékhez

MySqlConnectionStringBuilder

A MySql connection String Builder megkönnyíti a connection string összeállítását. Bonyolult stringek konkatenálása helyett a conncetionStringBuilder propertyjeiként adhatjuk meg a szükséges paramétereket .

Forráskód
    Dim cnnBuilder As New MySqlConnectionStringBuilder
        cnnBuilder.Server = "servernév"  pl. http://mapw.elte.hu
        cnnBuilder.UserID = "usernév"   pl. Júzer Jenő
        cnnBuilder.Password = "jelszó"  pl. almafa
        cnnBuilder.Database = "adatbázisnév"  pl. test

Vissza a tartalomjegyzékhez

MySqlCommand

A MySql command sql parancsok kiadására való. Egy nyitott connection létét tételezi fel. Működését egy kódrészlettel mutatjuk be. A getTableData függvény bemenete egy Sql parancs, visszatérési értéke pedig egy DataTable (az ADO.net strukturált adatforrása, ún. kapcsolat nélküli adatvilág), amely az sql parancs eredményeit tartalmazza. Lehet például a cmdText értéke a következő: SELECT * from test.

Forráskód
Function getTableData(cmdText As String) As DataTable
        Dim dt As New DataTable
        Using cnn As New MySqlConnection
            cnn.ConnectionString = cnnBuilder.ConnectionString
            Try
                cnn.Open()
                Dim da As New MySqlDataAdapter
                Dim cmd As New MySqlCommand
                cmd.CommandType = CommandType.Text
                cmd.Connection = cnn
                cmd.CommandText = cmdText
                da.SelectCommand = cmd
                da.Fill(dt)
            Catch ex As MySqlException
                Call MsgBox("Hiba van a lekérdezésben" & vbCrLf & ex.Message, MsgBoxStyle.Exclamation)
            End Try
        End Using
        Return dt
    End Function

Vissza a tartalomjegyzékhez

MySqlDataAdapter

A MySql DataAdapter egy adatillesztő, amely a Mysql-ből legyűjtött adatokat közvetíti egy kapcsolat nélküli objektumnak (pl. DataSet, DataTable, stb), valamint összehangolja ezek működését (select, update, insert, delete). Működését egy kódrészlettel mutatjuk be. A getDbSchema függvény visszatérési értéke egy DataTable, amely az adatbázis tábláinak neveit adja vissza.

Forráskód
    Private Function getDbSchema() As DataTable
        Dim dt As New DataTable
        Using cnn As New MySqlConnection
            cnn.ConnectionString = cnnBuilder.ConnectionString
            Try
                cnn.Open()
                Dim da As New MySqlDataAdapter("select table_name from information_schema.tables where table_schema='" & cnnBuilder.Database & "'", cnn)
                da.Fill(dt)
            Catch ex As Exception
                Call MsgBox("Nem sikerült a kapcsolat felvétel" & vbCrLf & ex.Message, MsgBoxStyle.Critical)
                cnn.Close()
            End Try
        End Using
        Return dt
    End Function

Vissza a tartalomjegyzékhez

Új Széchenyi terv
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszirozásával valósul meg.

A Társadalominformatika: moduláris tananyagok, interdiszciplináris tartalom- és tudásmenedzsment rendszerek fejlesztése az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával, az ELTE TÁMOP 4.1.2.A/1-11/1-2011-0056 projekt keretében valósult meg.
A tananyag elkészítéséhez az ELTESCORM keretrendszert használtuk.