如何将查询到的数据显示在DataGridView中

背景介绍:

数据库中的T_Line_Info表中存放着学生上机的记录,也就是我们需要查询上机记录的表,其中具体内容为:

界面设计如下:

右击DataGridView控件,选择编辑列,设计它的列名。

代码实现部分:

U层:

Public Class frmQueryOnRecord

    Private Sub btn_Query_Click(sender As Object, e As EventArgs) Handles btn_Query.Click
        Dim student As New Login.Model.LineInfo
        Dim BUser As New Login.BLL.LoginManager
        ‘将输入的卡号传给实体
        student.cardno = txtcardno.Text
        DataGridView1.Visible = True

        ‘在数据库中查到该卡号的上机信息
        Dim uTable = BUser.QueryOnRecord(student)
        If uTable.Rows.Count > 0 Then
            ‘将数据显示在DataGridView中

            DataGridView1.Item(1, DataGridView1.NewRowIndex).Value = uTable.Rows(0)("studentname")
            DataGridView1.Item(2, DataGridView1.NewRowIndex).Value = uTable.Rows(0)("ondate")
            DataGridView1.Item(3, DataGridView1.NewRowIndex).Value = uTable.Rows(0)("ontime")
            DataGridView1.Item(4, DataGridView1.NewRowIndex).Value = uTable.Rows(0)("offdate")
            DataGridView1.Item(5, DataGridView1.NewRowIndex).Value = uTable.Rows(0)("ontime")
            DataGridView1.Item(6, DataGridView1.NewRowIndex).Value = uTable.Rows(0)("moeny")
            DataGridView1.Item(7, DataGridView1.NewRowIndex).Value = uTable.Rows(0)("consumemoney")

        Else
            ‘没有查到内容时
            DataGridView1.Rows.Clear()
            MsgBox("没有找到记录!")
        End If
    End Sub

End Class

B层:

   Public Function QueryOnRecord(student As Login.Model.LineInfo) As DataTable
        Dim f As New DFactory.DBFactory
        Dim istudent As Login.Interface.ILineInfo

        istudent = f.QueryOnlineInfo
        ‘接收DataTable
        Table = istudent.Query_OnRecord(student)
        ‘把Table返回到U层
        Return Table

    End Function

接口:

Public Interface ILineInfo
    ‘返回的类型是DataTable
    Function Query_OnRecord(student As Login.Model.LineInfo) As DataTable
End Interface

实体:

Public Class LineInfo
    ‘与上机记录表中的字段一一对应
    Public cardno As String
    Public studentname As String
    Public ondate As String
    Public ontime As String
    Public offdate As String
    Public offtime As String
    Public money As String
    Public consumemoeny As String

End Class

sqlHelper中的GetDataTable方法

 Public Function GetDataTable(ByVal cmdTxt As String, ByVal cmdType As CommandType, ByVal paras As SqlParameter()) As DataTable
        Dim strConnStr As String = System.Configuration.ConfigurationManager.AppSettings("ConnStr")
        ‘定义一个数据库连接对象
        Dim conn As SqlConnection = New SqlConnection(strConnStr)
        Dim cmd As New SqlCommand ‘定义一个命令对象
        Dim adataset As DataSet
        Dim adaptor As SqlDataAdapter ‘定义一个适配器对象
        cmd = New SqlCommand(cmdTxt, conn)
        adaptor = New SqlDataAdapter(cmd)
        adataset = New DataSet
        cmd.CommandType = cmdType
        cmd.Parameters.AddRange(paras)
        Try
            ‘打开数据库连接
            If conn.State = ConnectionState.Closed Then
                conn.Open()

            End If
            ‘填充数据集
            adaptor.Fill(adataset)
            Return adataset.Tables(0)
        Catch ex As Exception
            MsgBox(ex.Message, , "数据库操作")
        Finally
            ‘关闭数据库连接
            If conn.State = ConnectionState.Open Then
                conn.Close()

            End If
        End Try

    End Function

D层:

Public Function QueryOnRecord(student As Login.Model.LineInfo) As DataTable Implements ILineInfo.Query_OnRecord
        ‘按卡号在上机记录表中查找
        Dim sql As String = "select * from T_Line_Info where cardno=" & student.cardno
        Dim cmd As SqlCommand = New SqlCommand(sql, conn)
        Dim helper As New Login.DAL.sqlHelper
        ‘设置参数
        Dim paras As SqlParameter() = {New SqlParameter("@cardno", student.cardno)}
        Try
            conn.Open()
            ‘调用sqlhelper中的GetDataTable方法
            Return helper.GetDataTable(sql, CommandType.Text, paras)

        Catch ex As Exception
            MsgBox(ex.Message, "")

        End Try
    End Function

运行结果:

如何将查询到的数据显示在DataGridView中

时间: 2024-10-22 13:25:31

如何将查询到的数据显示在DataGridView中的相关文章

将Excel导入DataGridView 中的"select * from [Sheet1$]"中[ ]里面表单名的动态获取

Sheet1$是Excel默认的第一个表名,如果改动:select * from [Sheet1$]"将查询失败,因此应根据选择自动获取excel表名: 1 OpenFileDialog ofd = new OpenFileDialog(); //选择文件路径 2 ofd.Title = "Excel文件"; 3 ofd.FileName = ""; 4 ofd.Filter = "Excel文件(*.xls)| *.xls"; 5 s

DataGridView中的Combobox的应用

在WinForm中DataGridView可谓是应用比较多的数据显示控件了,DataGridView中可以应用各种控件,关于这样的文章网上 已有很多.都是实例化一个控件然后通过DataGridView.Controls.Add()方法绑定控件.然后通过特定的事伯执行数据绑定与操作. 这几天在做项目的时候也也用到的DataGridView控件,而且需要要DataGridView使用ComboBox来动态的显示数据.查了不少 的资料来完成DataGridView中的ComboBox的数据绑定,多数都

用NPOI将DataGridView中需要的列导出为Excel

NPOI是什么? NPOI是POI的.Net版本,即"N"表示"Net".不论是NPOI还是POI,它们其实都是已经编写好的类库.类库大家并不陌生,我们在建立BLL层,DAL层,Facade层--,是不是都是在创建一个个类库啊.那么这个东西和它们差不多. NPOI干什么的? 提供对Microsoft Office格式的文档读和写的功能.也就是说不仅仅用于对Excel的读和写,还有Word,Power Point等. 为什么要用NPOI 大家可以自己查查NPOI的优势

读取txt文件赋值到DataGridView中

先查看txt是每条信息之间是通过什么分割,我是通过换行符(\n)分割的, 然后再看每一条信息中字段是通过什么分割,我的字段是通过 tab键(\t)分割. 第一步 先获取到txt文件的路径: //获取绝对路径 var path = "C:/Users/Ljk/Desktop/asdasd/1238191.txt"; var con = System.IO.File.ReadAllText(path, Encoding.Default); //获取相对路径 var con = System

C# 将Access中时间段条件查询的数据添加到ListView中

C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加Item. 首先,ListView的Item属性包括Items和SubItems.必须先实例化一个ListIteView对象.具体如下: ListViewItem listViewItem=new ListViewItem(); l

删除dataGridview中选中的一行或多行

DialogResult RSS = MessageBox.Show(this,"确定要删除选中行数据码?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning); switch(RSS) { case DialogResult.Yes: for (int i = this.dataGridView1.SelectedRows.Count; i > 0; i--) { int ID = Convert.ToI

Datagridview 添加checkbox列,并判断Datagridview 中的checkbox列是否被选中

Solution1://In Fill DataGridViewEvent : DataGridViewCheckBoxColumn ChCol = new DataGridViewCheckBoxColumn(); ChCol.Name = "CheckBoxRow"; ChCol.HeaderText = "CheckboxSelection"; ChCol.Width = 50; ChCol.TrueValue = "1"; ChCol.F

vs 2015 rdlc报表绑定datagridview中的数据

这几天一直想要实现rdlc报表绑定datagridview中的数据,始终在虚拟表向rdlc报表绑定这一步上出错.今天从下午4点到七点四十一直在尝试.最终还是实现了,最然并不知所以然,这个问题还是以后在考虑吧,目前的项目要紧. 首先是  datagridview中的数据传到虚拟表中. for (int i = 0; i < dgvscan.Columns.Count - 1; i++) { dtout.Columns.Add(dgvscan.Columns[i].Name); } //添加行 fo

c#.net循环将DataGridView中的数据赋值到Excel中,并设置样式

Microsoft.Office.Interop.Excel.Application excel =                new Microsoft.Office.Interop.Excel.Application();            excel.SheetsInNewWorkbook = 1;            excel.Workbooks.Add(); //设置Excel列名            excel.Cells[1, 1] = "学号";