vb datagrid 如何查询MYSQL?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb datagrid 如何查询MYSQL?相关的知识,希望对你有一定的参考价值。

我的想法是:在text1输入名字,如:陈大,按command1,text2随后显示出"陈大"那一行的其他值
例如:text1.text="陈大" ->>command1.click->>text2.text="18岁"

我建立了ADO,绑定了ODBC,把值副给datagrid.

Private Sub Command1_Click()
Dim chaxun As String
chaxun = Text2.Text
Adodc1.RecordSource = "select * from where name='" & chaxun & "'"
Set DataGrid1.DataSource = Adodc1
End Sub
可以显示出不来我的效果
连接是可以连接,但是达不到我要的效果

Adodc1.RecordSource = "select * from where name='" & chaxun & "'"
Adodc1.Refresh
加入Adodc1.Refresh应该就可以了。。
参考技术A 仔细检查。。肯定有错误。。不可能是没效果的。Vb可以连接mysql

如何在 vb.net 中的 mysql 中按分段值查询 123-456-789?

【中文标题】如何在 vb.net 中的 mysql 中按分段值查询 123-456-789?【英文标题】:How can I query by an value which is segmented, as 123-456-789 in mysql in vb.net? 【发布时间】:2012-02-05 20:34:09 【问题描述】:

我的问题是,当我通过常用 ID 查询时,例如没有段的数字 = 1234567890,它运行良好。

但是我需要通过某种分段值或 ID 查询 = 123-4567-890,当我尝试通过 123-4567-890 这个 id 时它不会在 mysql 中查询任何东西,尽管在数据库中这个 123-4567 -890 ID 存在。

那么在 VB.NET 的 mysql 中按分段值搜索的可能解决方案是什么

下面是我在vb中尝试的代码

公共子学生()

    textbox1.text= "123-4567-890"
    Try
        dbConn()
        Dim myAdapter As New MySqlDataAdapter("Select studentID, batchID, studentStatus from student where studentID= " & textbox1.text, ServerString)
        Dim myDataTable As New DataTable
        myAdapter.Fill(myDataTable)

        If myDataTable.Rows.Count > 0 Then
            vrSID = myDataTable.Rows(0).Item("studentID")
            vrRecBatchID = myDataTable.Rows(0).Item("batchID")
            vrAttendanceStatus = myDataTable.Rows(0).Item("studentStatus")

            If vrSID = vrIDD Then                    
                If vrAttendanceStatus = "Active" Then
                    Console.Beep()
                    batchRoutine()                        
                Else
                    led3()
                    Console.Beep()
                End If
            End If
        Else
            Console.Beep()
            teacher()
        End If
    Catch ex As Exception
        Console.Beep()
        MsgBox ("Error")
    End Try
End Sub

【问题讨论】:

你有一个 SQL 注入漏洞。修复它会破坏你的问题。 您有一个数据类型为varchar 的主键? ***.com/a/165007/284240 附带说明,不要在数据适配器、数据表和数据集上浪费您的时间...稍后您会感谢自己的 【参考方案1】:

当您遇到问题时,解决问题的最简单方法是将事情分解为最简单的场景。因此,与其让表适配器和数据表变得复杂,不如看看当您向 MySQL 发送您“认为”正常工作的查询时会发生什么。

所以首先看看你是否可以让它工作,然后从那里开始:

    Dim sql As String = "select id from mytable where id = '123-4567-890'"
    Using cnx As New MySqlConnection("connection_string")
        Using cmd As New MySqlCommand(sql, cnx)
            cnx.Open()

            Using reader As MySqlDataReader = cmd.ExecuteReader()

                Debug.Assert(reader.Read(), "No results")
                Trace.WriteLine(reader.GetValue(reader.Item(0)))
            End Using
        End Using
    End Using

【讨论】:

您好 J Cooper,非常感谢您,因为您向我展示了正确的解决方案,我已经解决了。我的查询表系统中存在问题。我发现我的查询系统不能这样查询。再次感谢您。【参考方案2】:

如果该列实际上是一种学生 ID 列(不是我所期望的社会保障),并且表格中没有特殊字符,我会预先从字符串中去除额外的格式(连字符)并传递将 CLEANED 值作为查询的参数来获取结果。

此外,通过显式添加查询字符串加上文本框值,您可以让自己对 sql 注入敞开大门。查看参数化查询(我猜它会是一个类似于 MySqlDataParameter 数据类型的对象。)

【讨论】:

以上是关于vb datagrid 如何查询MYSQL?的主要内容,如果未能解决你的问题,请参考以下文章

VB实现ACCESS数据库记录的查询,新增,删除,修改

怎么在vb中让datagrid控件中的内容一开始不显示,查询的时候才显示啊

将特定数据从excel导入到datagrid vb.net

在VB中如何插入datagrid控件?

vb中如何获取datagrid选中行的值?

vb中如何设置datagrid控件 中的数据库字体大小和行的高度怎么设置