mysql - 删除可选查询 datagridview 中的冗余列

标签 mysql sql vb.net datagridview datagridviewcolumn

我的一个 Windows 窗体上有一个 Datagridview,我打算让用户从组合框下拉菜单中选择一个查询,单击一个按钮,然后查询结果将显示在 Datagridview 上。

一切正常,但是当选择并提交不同的查询时,datagridview 会显示先前选择的查询使用的其他空列。

阻止这种情况发生的最佳方法是什么?这是基于 datagridview 本身吗?或我的子例程连接到数据库并执行查询

我尝试清除数据表(在查询子例程中使用)和datagridview的列,但这并没有解决问题。

我使用按钮清除 datagridview 的各种尝试(尝试了各种组合):

Private Sub btnclearquery_Click(sender As System.Object, e As System.EventArgs) Handles btnclearquery.Click
    mysql.qrydata.Clear()
    DataGridViewqry.DataSource = Nothing
    DataGridViewqry.Columns.Clear()
    DataGridViewqry.Rows.Clear()
End Sub

我执行查询的子例程(在另一个代码文件中引用。当用户从组合框中选择查询时,sqlquery 字符串使用选择大小写填充):

Public qrysqlconn As MySqlConnection
Public qrycommand As New MySqlCommand
Public qryadapter As New MySqlDataAdapter
Public qrydata As New DataTable
Public qrysql As String

Public Sub doquery(ByVal sqlquery As String)
    qrysqlconn = New MySqlConnection
    qrysqlconn.ConnectionString = "server=localhost;" _
        & "user id=root;" _
        & "password=W1nd0ws;" _
        & "database=hystest"
    qrysql = sqlquery
    Try
        qrysqlconn.Open()
        qrydata.Clear()
        qrycommand.Connection = qrysqlconn
        qrycommand.CommandText = qrysql
        qryadapter.SelectCommand = qrycommand
        qryadapter.Fill(qrydata)

        queries.DataGridViewqry.DataSource = qrydata
        queries.DataGridViewqry.FirstDisplayedScrollingRowIndex = queries.DataGridViewqry.RowCount - 1
    Catch myerror As MySqlException
        MessageBox.Show("Database error: " & myerror.Message)
    Finally
        qrysqlconn.Close()
        qrysqlconn.Dispose()
    End Try
End Sub

最佳答案

我以前也遇到过这样的问题。
您可能需要为您希望显示的每个新 View 创建一个新的 DataView 实例来解决此问题:

Dim dataview As DataView = _ds.YourStuff.DefaultView
dataview.Stuff

关于mysql - 删除可选查询 datagridview 中的冗余列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17990270/

相关文章:

javascript - 如何将上传的图片存储在不同的文件夹中从而自动生成文件夹?

mysql - SQL 按发布日期或编辑日期(最接近当前时间)排序

php - 错误 : “Creating default object from empty value”

php - 从不在第二个表中的表中获取用户名

php - 在 SQL 中按 IP 地址排序的最佳方法

.net - 带复选框的下拉列表

asp.net - 如何在 ASP.NET 中使用经典 ASP Session 对象读取 session 变量

javascript - ASP.NET 中动态生成的 Canvas 元素

PHP QODBC 远程连接

用于存储在字符串中的小数的 MySQL Round() 函数