我想做一个非常简单的程序,使用VB.NET连接到MySQL数据库。我的程序只有一个表单和一个标签。我设置我的MySQL数据库,使其具有一个表格和一个名为“Tab1”的字段(一个VARCHAR)使用VB.NET连接到MySQL
。我使用PHPMyAdmin手动将值“CLOSED”插入到Tab1字段中。我希望我的程序将字段的值更改为“打开/关闭”,并且我还希望我的表单上的标签文本可以在点击时更改为
。
到目前为止,我已经添加了MySQL.data参考我的项目并补充说:
Imports System
Imports System.Data
Imports MySql.Data.MySqlClient
到General_Declarations
而且我声明包含MySQL连接一个全局变量:
Public Class Form1
Dim conn As New MySqlConnection
这里是我连接到MySQL的函数:
Private Function Connect(ByVal server As String, ByRef user As String, ByRef password As String, ByRef database As String)
' Connection string with MySQL Info
conn.ConnectionString = "server=" + server + ";" _
& "user id=" + user + ";" _
& "password=" + password + ";" _
& "database=" + database + ";"
Try
conn.Open()
Return True
Catch ex As MySqlException
Return MsgBox(ex.Message)
End Try
End Function
我制作的节目连接到MySQL上的Form_Load这样的:
Connect("db4free.net", "boomun", "*******", "boomdb")
,并将其连接正常,但这里是我的麻烦....我希望字段从关闭更改时打开我点击Label1。它的确如此,但它在第二次点击时不会改变。不知何故,我需要一个工作代码来更新我的表中的Tab1字段。
这是我到目前为止有:
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
Dim myCommand As New MySqlCommand
Dim myAdapter As New MySqlDataAdapter
Dim myData As MySqlDataReader
Dim SQL As String
SQL = "SELECT * FROM `boomtable` WHERE `Tab1` = 'CLOSED'"
myCommand.Connection = conn
myCommand.CommandText = SQL
myAdapter.SelectCommand = myCommand
Try
myData = myCommand.ExecuteReader()
myData.Read()
If myData.HasRows = 0 Then
' *** UPDATE boomtable SET Tab1 = CLOSED WHERE Tab1 = OPEN ***
Label1.Text = "CLOSED"
myData.Close()
Else
Label1.Text = "OPEN"
' *** UPDATE boomtable SET Tab1 = OPEN WHERE Tab1 = CLOSED ***
myData.Close()
End If
Catch ex As MySqlException
MsgBox(ex.Message)
End Try
End Sub
该更新行不为我工作...任何人都可以请提供一个工作代码?谢谢,我真的很感激它!
这里是整个项目的代码都在一起:
Imports System
Imports System.Data
Imports MySql.Data.MySqlClient
Public Class Form1
Dim conn As New MySqlConnection
Private Function Connect(ByVal server As String, ByRef user As String, ByRef password As String, ByRef database As String)
' Connection string with MySQL Info
conn.ConnectionString = "server=" + server + ";" _
& "user id=" + user + ";" _
& "password=" + password + ";" _
& "database=" + database + ";"
Try
conn.Open()
Return True
Catch ex As MySqlException
Return MsgBox(ex.Message)
End Try
End Function
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
Dim myCommand As New MySqlCommand
Dim myAdapter As New MySqlDataAdapter
Dim myData As MySqlDataReader
Dim SQL As String
SQL = "SELECT * FROM `boomtable` WHERE `Tab1` = 'CLOSED'"
myCommand.Connection = conn
myCommand.CommandText = SQL
myAdapter.SelectCommand = myCommand
Try
myData = myCommand.ExecuteReader()
myData.Read()
If myData.HasRows = 0 Then
' *** UPDATE boomtable SET Tab1 = CLOSED WHERE Tab1 = OPEN ***
Label1.Text = "CLOSED"
myData.Close()
Else
Label1.Text = "OPEN"
' *** UPDATE boomtable SET Tab1 = OPEN WHERE Tab1 = CLOSED ***
myData.Close()
End If
Catch ex As MySqlException
MsgBox(ex.Message)
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Connect("db4free.net", "boomun", "boom123", "boomdb")
End Sub
End Class
你是怎么叫'UPDATE'语句的?看起来你只是在评论中有一个sql语句... – mellamokb 2011-02-26 22:57:33
它只是一个评论,因为它不工作....我问我应该做什么,而是..这就是我的问题。 – BooMGiRL 2011-02-27 00:10:44