VB 2005 ile MySQL’e ODBC Kullanrak Bağlanmak

VB 2005 ile MySql Odbc kullanarak bağlanmak

st1\:*{behavior:url(#ieooui) }

" İlk olarak programda bir modul eklemeyi tavsiye ediyorum. böylece bağlantı birimlerini tek bir modül altında taoplamak, program yazma esnasında ve kotrolunde çok işinize yarayacaktır. Bu sayede fonksiyonları Public tanımlamanız programın herhangi bir yerinden bu fonkiyonlara erişmeniz ve çalıştırmanız için en uygun yollardan biri olabilir.



Imports System.Data.Odbc

Imports System.IO

Imports Microsoft.VisualBasic

Imports System

Imports System.Drawing.Printing



Module MySQL ‘modül ismi olarak MySql kullandım



Public MyConString As String = "DRIVER={MySQL ODBC 3.51 DRIVER};" & _

"SERVER=192.168.0.1;" & _

"DATABASE=db_test;" & _

"UID=user;" & _

"PASSWORD=pass;" & _

"CHARSET=utf8;" & _

"OPTION=3;"



Public MyConnection As New OdbcConnection(MyConString)



Public MyCommand As New OdbcCommand()

Public MyDataReader As OdbcDataReader





"bu aşağıdaki fonksiyon bağlanmak istediğin anda çağırıp, database programın bağlanmasını sağlayabilirsiniz.



Public Sub MySQL_Baglan()

Try

MyConnection.Open()

Catch ex As OdbcException

GelHata(ex.Message)

MyConnection.Close()

End Try

End Sub





"kur yükle diye bir fonksiyon atıyorum buraya. database den kur bilgileri alıp gerekli yerlere atayabilirsin

"not: asadaki kodda dönen değerler frmAna formunun içindeki labellar içine dönmektedir.

"not2: aşadaki örnek çok verili bir erişim yöndemidir.



Public Sub kur_yukle()

Try

MyCommand.Connection = MyConnection

MyCommand.CommandText = "SELECT * FROM currency WHERE tarih=" & Format(Date.Today, "yyyyMMdd")

MyDataReader = MyCommand5.ExecuteReader

While MyDataReader.Read

frmAna.lblDolar.Text = MyDataReader("rate_usd")

frmAna.lblEuro.Text = MyDataReader("rate_euro")

frmAna.lblSterlin.Text = MyDataReader("rate_str")

End While

Catch ex As OdbcException

MsgBox(ex.Message)

End Try

If MyDataReader.HasRows = False Then ‘burda çağırdığımız viri yok ise değer atıyorum

frmAna.lblDolar.Text = "0.00"

frmAna.lblEuro.Text = "0.00"

frmAna.lblSterlin.Text = "0.00"

End If

MyDataReader.Close()

End Sub



"burdaki de tek verili bir sql queridir. Eğer tek değer dönecek ise bu tarz bir sorgu kullanabilirsiniz.

Public Sub veri_yukle()

Dim x As Integer

MyCommand.Connection = MyConnection

MyCommand.CommandText = "SELECT count(*) FROM sabitler "

x = MyCommand.ExecuteScalar()

End Sub





"insert örneği

Public Sub bilgigir()

MyCommand.Connection = MyConnection

If txtDolar.Text = Nothing Then

txtDolar.Text = 0

End If

If txtEuro.Text = Nothing Then

txtEuro.Text = 0

End If

If txtSterlin.Text = Nothing Then

txtSterlin.Text = 0

End If

MyCommand.CommandText = "INSERT INTO currency ( rate_usd , rate_euro , rate_str , tarih ) " & _

"VALUES ("" & txtDolar.Text & "", "" & txtEuro.Text & "", "" & txtSterlin.Text & "","" & Format(dtTarih.Value, "yyyy-MM-dd") & "")"

MyCommand.ExecuteNonQuery()

End Sub





"update örneği

Public Sub guncelle()

If txtDolar.Text = Nothing Then

txtDolar.Text = 0

End If

If txtEuro.Text = Nothing Then

txtEuro.Text = 0

End If

If txtSterlin.Text = Nothing Then

txtSterlin.Text = 0

End If

MyCommand.CommandText = "UPDATE currency SET rate_usd="" & txtDolar.Text & "", rate_euro="" & txtEuro.Text & "",rate_str= "" & txtSterlin.Text & "" WHERE tarih=" & Format(Date.Today, "yyyyMMdd")

MyCommand.ExecuteNonQuery()

End Sub



End Module







"programın gerekli yerlerini istediğiniz gibi ayarladıktan sonra programı kuracağınız bilgisayara odbc driver kurmanız gerekmektedir. Bu driveri mysql in sitedinden downloads odbc driver 3.51 olarak bulabilirdiniz. Bu yöntemle DNS tanımlamadan direk olarak bağlantı ayarlarını program içerisinden verek bağlanmak mümkün olacaktır.

Hiç yorum yok:

 


BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi SEO Yarışması BilgininAdresi.NET SEO Yarışması Katılımcısı

="BilgininAdresi SEO Yarismasi"" href= " http://www.bilgininadresi.net">BilgininAdresi.NET SEO Yarismasi Katilimcisi