Chat (Ağ Üzerinden Mesajlaşma) Programı (vb.net-mysql)

Kodla Büyü

glassic

Aktif Üye
Mesajlar
227
UYGULAMA ARAYÜZÜ:

chat_gui.jpg


UYGULAMA VERİTABANI(MYSQL) :

Veritabanı Adı : chat

Tablo Adı : mesajlar

Alanlar : gonderen(varchar(20)), mesaj(varchar(50)), saat(time), alici(varchar(20))


DİKKAT EDİLMESİ GEREKEN NOKTALAR

1-Aşağıdaki kodlarda kendi bilgisayarımız(localhost) üzerindeki mysql veritabanına bağlantı kurulmaktadır. Başka bilgisayardaki mysql veritabanına bağlanırken bağlantı cümlesi şu şekilde değiştirilmelidir.

Kod:
Dim baglanti As New MySqlConnection ("Server=192.168.1.5; Database=chat; Uid=a11a;pwd=1234;")

2-Ağ üzerinden bağlantıda, Windows Güvenlik Duvarı bağlantı kurmaya engel olabilir.

3-Dışarıdan Mysql bağlantısı için PHPMYADMIN>YETKİLER içerisinden Mysql kullanıcısı eklemeniz gerekmektedir. Kullanıcı bilgileri şu şekilde olabilir (Ad : a11a, Şifre : 1234, Ana makina : %, Yetki : Tümü)

4-VB.NET içerisinde mysql nesnelerinin kullanılabilmesi için vb.net-mysql veritabanı bileşenleri yüklü olmalıdır. Yüklü olduğu halde kodlar altı çizgil görünüyorsa, nesnelerden bir tanesini (örn. mysqlconnection) forma ekleyip kaldırınız.



UYGULAMA KODLARI :


Kod:
Imports MySql.Data.MySqlClient
Public Class Form1
    Dim baglanti As New MySqlConnection ("Server=localhost; Database=chat; Uid=root;")
    Dim komut As New MySqlCommand
    Dim ds As New DataSet
    Dim tablo As New MySqlDataAdapter
    Dim kullanici_adi As String
    Dim sql_sorgusu As String
    Private Sub Form1_FormClosing(ByVal ...) Handles Me.FormClosing
        baglanti.Close()
    End Sub
    Private Sub Form1_Load(ByVal ...) Handles MyBase.Load
        baglanti.Open()
        kullanici_adi = InputBox("Kullanıcı Adınız", "Giriş", "")
        kullanici.Text = "KULLANICI : " & kullanici_adi
    End Sub
    Private Sub Timer1_Tick(ByVal ...) Handles Timer1.Tick
        'LİSTELEME KOMUTLARI
        sql_sorgusu = "select * from mesajlar where gonderen ='" & kullanici_adi & "' or alici='" & kullanici_adi & "' order by saat desc limit 0,10"
        tablo = New MySqlDataAdapter(sql_sorgusu, baglanti)
        ds.Reset()
        tablo.Fill(ds, "mesajlar")
        DataGridView1.DataSource = ds.Tables(0)
    End Sub
    Private Sub TextBox1_KeyPress(ByVal ...)
        If e.KeyChar = Chr(13) Then
            btn_gonder_Click(sender, e)
        End If
    End Sub
    Private Sub btn_gonder_Click(ByVal ...)
        'YENİ MESAJ
        If TextBox1.Text <> "" Then
            sql_sorgusu = "insert into mesajlar(gonderen,mesaj,saat,alici) values(@p1,@p2,now(),@p3)"
            komut = New MySqlCommand(sql_sorgusu, baglanti)
            komut.Parameters.Add("@p1", kullanici_adi)
            komut.Parameters.Add("@p2", TextBox1.Text)
            komut.Parameters.Add("@p3", kullanici_adi)
            komut.ExecuteNonQuery()
            TextBox1.Clear()
        End If
    End Sub
End Class
 
BBNET
Geri
Üst