Jump to content
Sign in to follow this  
Kagome

Vb Data To Mysql

Recommended Posts

Salam dan hai...sy nak tanya,macam mana nak buat sambungan dari visual basic ke mysql...saya menngunakan RFID untuk dapatkan no id,no id y discan akan dipaparkan pada textbox dalam visual basic....persoalan disini,macam mana pula untuk saya pindahkan id dari textbox itu kedalam mysql...harap dapat membantu...sekian terima kasih...

Share this post


Link to post
Share on other sites
Salam... selamat datang ke putera.com... hehe....

Ok pertama sekali, sekiranya [b]BELUM[/b] ada [b]ODBC[/b] untuk [b]MYSQL[/b] hendak perlu didownload disini

[url="http://dev.mysql.com/downloads/connector/net/"]http://dev.mysql.com/downloads/connector/net/[/url]

Setelah download dan juga install, dalam project vb.net sila pilih [b]PROJECT[/b] > [b]ADD REFERENCE[/b] > [b]BROWSER[/b] > Dan buka file [b]C:\Program Files\MySQL\MySQL Connector Net 6.5.4\Assemblies\v2.0[/b]

Kemudian, ada 4 file akan keluar. Jadi bro kena ADD [b]MySql.Data.dll..[/b]Tunggu hingga dia tambah..

Setelah selesai, kita hendaklah buat test connection terlebih dahulu untuk pastikan tiada masalah. Pertama sekali dalam baris atas dalam coding kena tulis

[CODE]
Imports MySql.Data.MySqlClient
[/CODE]

Kemudian, kita kena buat variable untuk MySql Connection. Contohnya

[CODE]
Dim MysqlConn As MySqlConnection
[/CODE]

Dan kemudian kita buat object untuk my sql connection

[CODE]
MysqlConn = New MySqlConnection()
[/CODE]

Selepas itu, bro leh letak connection string untuk menhubungi pengkalan data MySql. Contoh

[CODE]
MysqlConn.ConnectionString = "server=localhost; user id=root; password=; database=test"
[/CODE]

Dan kita leh test connection. Contohnya

[CODE]
Try
MysqlConn.Open()
MessageBox.Show("Berjaya menyambung ke databases.")
MysqlConn.Close()
Catch myerror As MySqlException
MessageBox.Show("Maaf sambungan ke database gagal: " & myerror.Message)
Finally
MysqlConn.Dispose()
End Try
[/CODE]


Jadi code untuk keseluruhannya adalah

[CODE]


Imports MySql.Data.MySqlClient

Public Class Form1

Private Sub btnTestConnection_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MysqlConn As MySqlConnection

MysqlConn = New MySqlConnection()

MysqlConn.ConnectionString = "server=localhost; user id=root; password=; database=test"
Try
MysqlConn.Open()
MessageBox.Show("Connection to Database has been opened.")
MysqlConn.Close()
Catch myerror As MySqlException
MessageBox.Show("Cannot connect to database: " & myerror.Message)
Finally
MysqlConn.Dispose()
End Try
End Sub
[/CODE]

Jadi macam mana nak add textbox ke mysql? sonang jer...:P

Try code ini.. Sorry kalau ada jumpa error...:D

[CODE]
Private Sub addToMySql_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addToMySql.Click
Dim MysqlConn As MySqlConnection
Dim MysqlCommand As New MySqlCommand
Dim queryNoID As String
MysqlConn = New MySqlConnection()
MysqlConn.ConnectionString = "server=localhost; user id=root; password=; database=test"
queryNoID = "INSERT INTO tbl_noid (noID) VALUES (@noID);"
Try
MysqlCommand.Connection = MysqlConn
MysqlCommand.CommandText = queryNoID
MysqlCommand.Parameters.AddWithValue("@noID", TextBoxNoID.Text)
MysqlConn.Open()
MysqlCommand.ExecuteNonQuery()
MysqlConn.Close()
MessageBox.Show("Rekod disimpan")
Catch myerror As MySqlException
MessageBox.Show("Gagal menyimpan rekod: " & Environment.NewLine & myerror.Message)
Finally
MysqlConn.Dispose()
End Try
End Sub
[/CODE]

Happy programming...;)

Share this post


Link to post
Share on other sites
Terima kasih Bro Chuki2 . . tutorial y betul2 complete,mudah difahami dan teramat bguna buat sy... :)

semua connection sudah boleh,maaf sebab xnyatakan sbnarnya data dari textbox dimasukan terus kepada database tanpa menekan button(sy dah fix)...permasalahan disini macam mna nak bg setiap data y dimasukan adalah berlainan kerana [contoh] untuk scan y pertama di textbox paparkan id "1112" dan id "1112" akan disimpan didalam table dan apabila untuk scan y ke-2 paparan texbox akan papar id "1112","1113" ini bmakna pada row baharu akan terus dimasukan data 1112 dan 1113 tadi... dan bukannya data 1113 sahaja...

Share this post


Link to post
Share on other sites
Owh. kenapa nak pening2 pakai text box..

Bro boleh cuba pakai Data Gird View, dan kemudian record dari data grid terus masuk kedalam my sql...

Jadi tiap kali orang scan, dia akan tambah pada ruang baru dalam data grid view. Dan tiap kali nak simpan data, bro kena buat for each setiap record dalam data grid view INSERT kepada MySQL... :D

Happy Programming ;)

Share this post


Link to post
Share on other sites
kiranya textbox tu kena tukar dengan Data Grid View kan....hmmmm da cuba buat tpi still mcm xjadi je....sebenarnya sy nak buat mcm ni : sy ada table ni :

Table = test
-----------------
Baki | Rfidid
-----------------
1 | 300 | 11111
2 | 250 | 1112
-----------------

#bila sy scan card dan sekiranya no id y dscan ialah "11111" maka nilai baki tu akan terus melalui proses penolakan dengan nilai 50... Edited by Kagome

Share this post


Link to post
Share on other sites
ini adalah coding untuk rfid...bila card scan id akan dipaparkan pada textbox1....untuk tukar kpada grid view ap y harus sy lakukan....?? mohon pertolongan...

Public Class Form1
Dim WithEvents myComPort As New System.IO.Ports.SerialPort
Dim data As String
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ComboBox1.Enabled = True
Button2.Enabled = False
Button1.Enabled = True
RadioButton1.Enabled = False
RadioButton2.Checked = True
myComPort.Close()
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not ComboBox1.SelectedItem Is Nothing Then
If Not myComPort.IsOpen Then
Try
myComPort.BaudRate = 9600
myComPort.PortName = ComboBox1.SelectedItem
myComPort.Parity = IO.Ports.Parity.None
myComPort.DataBits = 8
myComPort.StopBits = IO.Ports.StopBits.One
myComPort.Handshake = IO.Ports.Handshake.None
myComPort.ReadTimeout = 3000
myComPort.ReceivedBytesThreshold = 1
myComPort.DtrEnable = True

myComPort.Open()

ComboBox1.Enabled = False
Button1.Enabled = False
Button2.Enabled = True
RadioButton1.Enabled = True
RadioButton1.Checked = True

Catch ex As Exception
MsgBox("Error Opening COM Port", MsgBoxStyle.Critical)
End Try
End If
Else
MsgBox("Select a valid COM Port", MsgBoxStyle.Information)
End If
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each portName As String In My.Computer.Ports.SerialPortNames
ComboBox1.Items.Add(portName)
Next
CheckBox1.Checked = True
If Not myComPort.IsOpen Then
Button2.Enabled = False
ComboBox1.Text = ComboBox1.Items(0)
RadioButton1.Enabled = False
RadioButton2.Checked = True
Else
Button1.Enabled = False
ComboBox1.Text = myComPort.PortName
RadioButton2.Checked = True
End If
End Sub

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
myComPort.DtrEnable = True
End Sub

Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
myComPort.DtrEnable = False
End Sub
Private Sub DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles myComPort.DataReceived
TextBox1.Invoke(New myDelegate(AddressOf updateTextBox), New Object() {})
End Sub
Public Delegate Sub myDelegate()
Public Sub updateTextBox()

data = data + myComPort.ReadExisting()
If Len(data) = 12 Then
TextBox1.Text = TextBox1.Text + Microsoft.VisualBasic.Mid(data, 2, 11) & vbLf
myComPort.DtrEnable = False
RadioButton1.Enabled = False
RadioButton2.Checked = True

If CheckBox1.Checked = True Then
Beep()
End If

Dim timeOut As DateTimeOffset = Now.AddMilliseconds(1500)
Do
Application.DoEvents()
Loop Until Now > timeOut
data = myComPort.ReadExisting()
myComPort.DiscardInBuffer()
data = ""
myComPort.DtrEnable = True
RadioButton1.Enabled = True
RadioButton1.Checked = True

End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Text = ""
End Sub
End Class

Share this post


Link to post
Share on other sites
[CODE]
Private Sub DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles myComPort.DataReceived
TextBox1.Invoke(New myDelegate(AddressOf updateTextBox), New Object() {})
End Sub
Public Delegate Sub myDelegate()
Public Sub updateTextBox()
data = data + myComPort.ReadExisting()
If Len(data) = 12 Then
TextBox1.Text = TextBox1.Text + Microsoft.VisualBasic.Mid(data, 2, 11) & vbLf
myComPort.DtrEnable = False
RadioButton1.Enabled = False
RadioButton2.Checked = True
If CheckBox1.Checked = True Then
Beep()
End If
Dim timeOut As DateTimeOffset = Now.AddMilliseconds(1500)
Do
Application.DoEvents()
Loop Until Now > timeOut
data = myComPort.ReadExisting()
myComPort.DiscardInBuffer()
data = ""
myComPort.DtrEnable = True
RadioButton1.Enabled = True
RadioButton1.Checked = True
End If
End Sub
[/CODE]

Leh cuba macam ini

[CODE]
DataGridView1.Columns(0).Name = "ID CARD"
DataGridView1.Rows.Add(tbNoID.TEXT)

[/CODE]

Pada code tiap kali masukkan ID pada texbox...;)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...