背景介绍:

数据库中的T_Line_Info表中存放着学生上机的记录,也就是我们须要查询上机记录的表。当中详细内容为:

界面设计例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDA2NjkzNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

右击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

执行结果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDA2NjkzNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

怎样将查询到的数据显示在DataGridView中的更多相关文章

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

    背景介绍: 数据库中的T_Line_Info表中存放着学生上机的记录,也就是我们需要查询上机记录的表,其中具体内容为: 界面设计如下: 右击DataGridView控件,选择编辑列,设计它的列名. 代 ...

  2. 将listBox中信息显示在dataGridview中,操作datagridview后删除listBox信息和SQL数据库信息 续(浅谈listBox..)

    应用场景      对datagridview控件使用了解,以及操作datagridview选中的信息删除,并且有二次确认后才删除用户信息.相应的删除listbox中用户信息,下面一起看看需要哪些准备 ...

  3. winform代码:关联窗体数据更新,删除dataGridview中选中的一行或多行

    一.关联窗体数据更新 关联窗体数据修改时,如果一个为总体数据显示窗体A,另一个为详细修改窗体B,从A进入B,在B中对数据进行修改,然后返回A,这时A窗体的数据需要更新. 我采用最简单的方法,首先保证每 ...

  4. 读取txt文件赋值到DataGridView中

    先查看txt是每条信息之间是通过什么分割,我是通过换行符(\n)分割的, 然后再看每一条信息中字段是通过什么分割,我的字段是通过 tab键(\t)分割. 第一步 先获取到txt文件的路径: //获取绝 ...

  5. C#在dataGridView中遍历,寻找相同的数据并定位

      1. C#在dataGridView中遍历,寻找相同的数据并定位   [c-sharp] view plain copy int row = dataGridView1.Rows.Count;// ...

  6. DataGridView中的Combobox的应用

    在WinForm中DataGridView可谓是应用比较多的数据显示控件了,DataGridView中可以应用各种控件,关于这样的文章网上 已有很多.都是实例化一个控件然后通过DataGridView ...

  7. [Winform] DataGridView 中 DataGridViewComboBox 的可编辑

    在 DataGridView 中设置的 DataGridViewComboBox,默认是不可编辑的,即使将其列属性 DisplayStyle 设置成 ComboBox 或其他,也无法编辑: 故作如下处 ...

  8. 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。

    当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式.比如 select * from T_Employee where FNumber not in ( select top 5*  ...

  9. 禁用datagridview中的自动排序功能

    把datagridview中的自动排序功能禁用自己收集的两种方法,看看吧①DataGridView中的Columns属性里面可以设置.进入"EditColumns"窗口后,在相应的 ...

随机推荐

  1. swift中的as?和as!

    as操作符用来把某个实例转型为另外的类型,由于实例转型可能失败,因此Swift为as操作符提供了两种形式:选项形式as?和强制形式as 选项形式(as?)的操作执行转换并返回期望类型的一个选项值,如果 ...

  2. Node.js fs文件系统模块

    一.读取文件几个步骤 1.先引入fs文件系统模块 2.使用readfile 或 readFileSync 注意点:它们的回调函数有两个参数,第一个是err,第二个是data,得到的data是buffe ...

  3. 数组对象分类个数js

    <script type="text/javascript"> $(function(){ var aaa = [ {"task1":"z ...

  4. 洛谷——P1640 [SCOI2010]连续攻击游戏

    P1640 [SCOI2010]连续攻击游戏 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备 ...

  5. linux php安装ODBC扩展

    进入php源码安装目录的ext/pdo_odbc $ sudo /data/apps/php/bin/phpize $ ./configure --with-php-config=/data/apps ...

  6. python的2种字符串格式化输出

    字符串格式化代码(typecode) 法一: %格式使用下面的格式 %[(name)] [flags] [width][.precision] typecode (name)输出字典的value使用, ...

  7. consul无client模式

    1.推consul的镜像到生产应用全部服务器. 每个consul的server模式的容器,都需要单独的物理服务器. 主节点:docker run -d --net=host --name=consul ...

  8. MySQL教程之存储过程与函数

    存储程序分为存储过程和函数 可以使用CALL来调用存储过程,只能输出变量返回值.存储过程可以调用其他存储过程 函数可以从语句外调用,也能返回标量值 什么是存储过程? 简单的说,就是一组SQL语句集,功 ...

  9. js总结(四):关于高性能

    参考<高性能网站建设进阶指南> 不仅仅关注页面加载时间,也要关注下页面操作时的相应速度.页面操作是我们写程序中 实实在在需要的 1.使用局部变量 任何非局部变量,在函数中使用次数超过一次时 ...

  10. BNU 4346 Scout YYF I

    A. Scout YYF I Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java cla ...