繁体   English   中英

从VB.NET将数据插入MySQL数据库

[英]Inserting data to MySQL database from VB.NET

我使用以下代码将VB.NET中的数据插入MySQL数据库。

Dim connString As String = "Database=user;Data Source=localhost;" _
                 & "User Id=root;Password="
 Dim conn As New MySqlConnection(connString)
 Dim cmd As New MySqlCommand()
 Try
    conn.Open()
    cmd.Connection = conn
    getFormData()
    cmd.CommandText = "insert into privileges values (" & userId & "," & uname & "," & usb & "," & internet & "," & pro1 & "," & pro2 & "," & pro3 & "," & pro4 & "," & pro5 & ");"
    cmd.Parameters.AddWithValue("userId", userId)
    cmd.Parameters.AddWithValue("uname", uname)
    cmd.Parameters.AddWithValue("usb", cbusb.CheckState) 'Status", Convert.ToInt32(usb))
    cmd.Parameters.AddWithValue("internet", cbnet.CheckState) ' Convert.ToInt32(internet))
    cmd.Parameters.AddWithValue("pro1", txtpro1.Text)
    cmd.Parameters.AddWithValue("pro2", txtpro2.Text)
    cmd.Parameters.AddWithValue("pro3", txtpro3.Text)
    cmd.Parameters.AddWithValue("pro4", txtpro4.Text)
    cmd.Parameters.AddWithValue("pro5", txtpro5.Text)
   cmd.ExecuteNonQuery()
   MessageBox.Show("User Profile Created!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
    conn.Close()

但是我收到以下错误消息

“字段列表”中的未知列“ B5”

B5是我在文本框中输入的内容,但我不知道该字段列表指的是什么

我瘦了,这是参数语句的问题

v

cmd.CommandText = "insert into privileges values (@userId,@uname....,@pro5)";

参数以@s标记

那是一种体面的方式; 但是,我也有这种方法:

Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
Dim conn As MySqlConnection

'Connect to the database using these credentials
conn = New MySqlConnection
conn.ConnectionString = "server=your server site (generally long url); user id=login id for mysql user; password=self explanatory; database=name of the DB you're trying to reach"

'Try and connect (conn.open)
Try
    conn.Open()

Catch myerror As MySqlException 'If it fails do this... (i.e. no internet connection, etc.)
    MsgBox("Error connecting to database. Check your internet connection.", MsgBoxStyle.Critical)
End Try


'MySQL query (where to call for information)
Dim myAdapter As New MySqlDataAdapter

'Tell where to find the file with the emails/passes stored
Dim sqlquery = "SELECT * FROM the database you selected above WHERE Email = '" & txtEmail.Text & "' AND Password = '" & txtPassword.Text & "'"
Dim myCommand As New MySqlCommand
myCommand.Connection = conn
myCommand.CommandText = sqlquery

'Start query
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader

If myData.HasRows = 0 Then
    MsgBox("Invalid email address or password.", MsgBoxStyle.Critical)

Else
    MsgBox("Logged in as " & txtEmail.Text & ".", MsgBoxStyle.Information)

    Me.Close()

End If

结束子

试试看并写回它是如何工作的。 它的功能更加强大,因为它使每个步骤的布局更加清晰。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM