VB.net 数据库查询结果集取不到数据

_山枕寒流_ 2020-04-26 10:52:59
代码
Imports MySql.Data.MySqlClient
Public Class Form1
'数据连接对象
Dim con As New MySqlConnection
Dim comm As New MySqlCommand
'登录数据
Dim user As String
Dim pas As String
REM 登录功能
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'提取输入条件
user = Username.Text
pas = Password.Text
Debug.Print(user + Chr(10) + pas)
'查询语句
Dim sql As String = "select * from userinfo where userName = '" & user & "' "
Debug.Print(sql)
comm = New MySqlCommand(sql, con)
Dim da = New MySqlDataAdapter(sql, con)
Dim dt = New DataSet()
da.Fill(dt, "sql")
MsgBox(dt.Tables("sql").Rows.Count)
con.Close()


End Sub
'取消功能
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Username.Text = ""
Password.Text = ""
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'数据连接
con.ConnectionString = "Server=127.0.0.1;UserID=root;Password=12345;Database=candy"
con.Open()
'数据连接状态判别
If con.State = ConnectionState.Open Then
Debug.Print("数据库连接成功!")
Else
Debug.Print("数据库连接失败!")
End If
End Sub

End Class
...全文
223 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
_山枕寒流_ 2020-04-26
  • 打赏
  • 举报
回复
引用 2 楼 大西瓜一块五一斤♏ 的回复:
还有你comm = New MySqlCommand(sql, con)定义了也没用到。。
我改成了 '查询语句 Dim sql As String = "select * from userinfo where userName = '" & user & "'" Debug.Print(sql) comm = New MySqlCommand(sql, con) Dim da = New MySqlDataAdapter(comm) Dim dt = New DataSet() da.Fill(dt, "sql") MsgBox(dt.Tables("sql").Rows.Count) con.Close() 可是还是查不到数据
_山枕寒流_ 2020-04-26
  • 打赏
  • 举报
回复
引用 3 楼 qq_36617490 的回复:
引用 1 楼 大西瓜一块五一斤♏ 的回复:
打印出的sql 在数据里直接执行能查出数据吧,看看userName是什么类型是不是CHAR?这种会自动多出空格
是的,在mysql里都查得到
用的是varchar
_山枕寒流_ 2020-04-26
  • 打赏
  • 举报
回复
引用 1 楼 大西瓜一块五一斤♏ 的回复:
打印出的sql 在数据里直接执行能查出数据吧,看看userName是什么类型是不是CHAR?这种会自动多出空格
是的,在mysql里都查得到
  • 打赏
  • 举报
回复
还有你comm = New MySqlCommand(sql, con)定义了也没用到。。
  • 打赏
  • 举报
回复
打印出的sql 在数据里直接执行能查出数据吧,看看userName是什么类型是不是CHAR?这种会自动多出空格
_山枕寒流_ 2020-04-26
  • 打赏
  • 举报
回复
引用 9 楼 大西瓜一块五一斤♏ 的回复:
[quote=引用 8 楼 qq_36617490 的回复:] [quote=引用 7 楼 大西瓜一块五一斤♏ 的回复:]

        Dim sql As String = "select count(1) from userinfo where userName = '" & user & "'"
        comm = New MySqlCommand(sql, con)
        Dim count As Integer = comm.ExecuteScalar()
这样执行看是不是还是0?
还是0[/quote] 你表userName改个不是中文的名字查查,有的话估计是中文问题 找到mysql中的my.ini 文件 在[mysql]下面添加: default-character-set=utf8 在[client]下面添加:default-character-set=utf8 在[mysqld]下面添加:character-set-server=utf8 配置好重启下服务再试试[/quote] 不是中文名的可以查得到记录,谢谢
  • 打赏
  • 举报
回复
引用 8 楼 qq_36617490 的回复:
[quote=引用 7 楼 大西瓜一块五一斤♏ 的回复:]

        Dim sql As String = "select count(1) from userinfo where userName = '" & user & "'"
        comm = New MySqlCommand(sql, con)
        Dim count As Integer = comm.ExecuteScalar()
这样执行看是不是还是0?
还是0[/quote] 你表userName改个不是中文的名字查查,有的话估计是中文问题 找到mysql中的my.ini 文件 在[mysql]下面添加: default-character-set=utf8 在[client]下面添加:default-character-set=utf8 在[mysqld]下面添加:character-set-server=utf8 配置好重启下服务再试试
_山枕寒流_ 2020-04-26
  • 打赏
  • 举报
回复
引用 7 楼 大西瓜一块五一斤♏ 的回复:

        Dim sql As String = "select count(1) from userinfo where userName = '" & user & "'"
        comm = New MySqlCommand(sql, con)
        Dim count As Integer = comm.ExecuteScalar()
这样执行看是不是还是0?
还是0
  • 打赏
  • 举报
回复

        Dim sql As String = "select count(1) from userinfo where userName = '" & user & "'"
        comm = New MySqlCommand(sql, con)
        Dim count As Integer = comm.ExecuteScalar()
这样执行看是不是还是0?

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧