本文主要是介绍如何将查询到的数据显示在DataGridView中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景介绍:
数据库中的T_Line_Info表中存放着学生上机的记录,也就是我们需要查询上机记录的表,其中具体内容为:
界面设计如下:
右击DataGridView控件,选择编辑列,设计它的列名。
代码实现部分:
U层:
Public Class frmQueryOnRecordPrivate Sub btn_Query_Click(sender As Object, e As EventArgs) Handles btn_Query.ClickDim student As New Login.Model.LineInfoDim BUser As New Login.BLL.LoginManager'将输入的卡号传给实体student.cardno = txtcardno.TextDataGridView1.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 IfEnd SubEnd Class
B层:
Public Function QueryOnRecord(student As Login.Model.LineInfo) As DataTableDim f As New DFactory.DBFactoryDim istudent As Login.Interface.ILineInfoistudent = f.QueryOnlineInfo'接收DataTableTable = istudent.Query_OnRecord(student)'把Table返回到U层Return TableEnd Function
接口:
Public Interface ILineInfo'返回的类型是DataTableFunction Query_OnRecord(student As Login.Model.LineInfo) As DataTable
End Interface
实体:
Public Class LineInfo'与上机记录表中的字段一一对应Public cardno As StringPublic studentname As StringPublic ondate As StringPublic ontime As StringPublic offdate As StringPublic offtime As StringPublic money As StringPublic consumemoeny As StringEnd Class
sqlHelper中的GetDataTable方法
Public Function GetDataTable(ByVal cmdTxt As String, ByVal cmdType As CommandType, ByVal paras As SqlParameter()) As DataTableDim strConnStr As String = System.Configuration.ConfigurationManager.AppSettings("ConnStr")'定义一个数据库连接对象 Dim conn As SqlConnection = New SqlConnection(strConnStr)Dim cmd As New SqlCommand '定义一个命令对象 Dim adataset As DataSetDim adaptor As SqlDataAdapter '定义一个适配器对象 cmd = New SqlCommand(cmdTxt, conn)adaptor = New SqlDataAdapter(cmd)adataset = New DataSetcmd.CommandType = cmdTypecmd.Parameters.AddRange(paras)Try'打开数据库连接 If conn.State = ConnectionState.Closed Thenconn.Open()End If'填充数据集 adaptor.Fill(adataset)Return adataset.Tables(0)Catch ex As ExceptionMsgBox(ex.Message, , "数据库操作")Finally'关闭数据库连接 If conn.State = ConnectionState.Open Thenconn.Close()End IfEnd TryEnd 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.cardnoDim cmd As SqlCommand = New SqlCommand(sql, conn)Dim helper As New Login.DAL.sqlHelper'设置参数Dim paras As SqlParameter() = {New SqlParameter("@cardno", student.cardno)}Tryconn.Open()'调用sqlhelper中的GetDataTable方法Return helper.GetDataTable(sql, CommandType.Text, paras)Catch ex As ExceptionMsgBox(ex.Message, "")End TryEnd Function
运行结果:
这篇关于如何将查询到的数据显示在DataGridView中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!