Mysql 如何在标签上显示计数值?

Mysql 如何在标签上显示计数值?,mysql,vb.net,count,display,Mysql,Vb.net,Count,Display,我在datagridview中有一个监视器,它显示车辆及其类型的列表。我想数一数每种类型车辆的数量 示例:datagridview中有8辆轿车和5辆摩托车,我希望它显示在标签中 这是我的密码: Dim表作为新数据表 Dim命令作为新的MySqlCommandselect countctype from tblreport where ctype='SUV',conn command.Parameters.Addcountctype,MySqlDbType.VarChar.Value=Label6

我在datagridview中有一个监视器,它显示车辆及其类型的列表。我想数一数每种类型车辆的数量

示例:datagridview中有8辆轿车和5辆摩托车,我希望它显示在标签中

这是我的密码:

Dim表作为新数据表 Dim命令作为新的MySqlCommandselect countctype from tblreport where ctype='SUV',conn command.Parameters.Addcountctype,MySqlDbType.VarChar.Value=Label6.Text Dim适配器作为新的MySqlDataAdaptercommand 适配器。填充表 DataGridView2.DataSource=表
分配数据源后,只需添加以下内容:

 Label1.Text=datagridview1.rows.count
文本是许多控件(如label、button等)的属性。此属性可用于在控件上显示文本覆盖。Datagridview有行,对吗?所以,正如你所说,你想显示datagridview包含的行数。所以你需要做的就是使用Datagridview1.rows.count,我认为这一点不需要任何解释

不管怎样,让我们再向前推进一点

你还说

datagridview中有8辆轿车和5辆摩托车,我希望它显示在标签中

默认情况下,没有应用程序能够理解有多少记录与轿车和摩托车匹配。但是如上所述,vb能够通过默认/简单的代码计算datagridview的行。因此,请尝试思考一下,如果datagridview在任何单元格中只包含轿车或摩托车的行,vb.net可以很容易地计算出来…对吗

那么,如果你问我,我们如何只获得包含轿车或汽车的行,那么我会问你,谷歌如何只显示你正在寻找的结果,而不是显示它拥有的一切??答案很简单,谷歌准确地显示了你搜索的内容。说到数据库,我们称之为过滤/排序/甚至搜索。因此,您需要做的就是过滤您的数据库。有几种方法,如果我开始解释的话,会花费很多时间。但是,请检查以下方法:

现在,让我们深入一点。如果您浏览上面的链接,您将能够在任何单元格中仅显示包含轿车左右的行。如果您希望所有行,但只希望标签显示轿车左右的数量,该怎么办

在这种情况下,可以使用Datatable

您可以很容易地使用datatable来计算只包含您要查找的查询的行数。为此,您可以编写如下代码:

 Dim cmd as new MySqlCommand("Select * from [tablename](columnname)(@value)",con)

 cmd.parametres.addwithvalue("@value","Sedan")
 Dim table as new DataTable
 Dim adap as new MySqlDataAdapter
 adap.fill(table)

 If table.rows.count <=0 then

   Else

  LAbel1.text=table.rows.count

让我从dim表中解释一下。这里我声明了一个datatable。但在此之前,我使用cmd.parametres.addwithvalue过滤数据集。然后,我使用DataAdapter并仅用包含SEDAN的行填充datatable。现在,关注If table.Rows.Count使用与填充DataGridView相同的DataTable。仅将select语句更改为select*FROMTABLENAME。我使用了2的索引,但更改为表中的任何索引。列索引从零开始

        Dim totalSedans As Integer = 0
        Dim totalMotorcycles As Integer = 0
        Dim totalConvertable As Integer = 0
        For Each row As DataRow In table.Rows
            Select Case row(2).ToString
                Case "Sedan"
                    totalSedans += 1
                Case "Motorcycle"
                    totalMotorcycles += 1
                Case "Convertable"
                    totalConvertable += 1
                Case Else
                    Debug.Print("Something doesn't match categories")
            End Select
        Next
        lblConvertable.Text = totalConvertable.ToString
        lblMotorcycles.Text = totalMotorcycles.ToString
        lblSedan.Text = totalSedans.ToString

您不需要填充数据表来获得标量值SELECT COUNT。这个参数对您没有多大帮助,因为SQL没有参数。将文本放在标签上与从标签上获取内容的方式正好相反。请阅读并获取如何显示值SELECT COUNT?首先,您需要从数据库中获取值,我不确定代码是否会这样做。您应该对尝试使用的DB Provider对象进行一些研究。阅读并带上raylan,这里有很多好的思考材料。OP使用cmd.parameters.Add比.AddWithValue安全一点。看到你的命令没有在任何地方使用吗?适配器是否应该知道其命令?