成績查詢(vb.net2003 from listview datagrid)

2023-10-20 06:50

本文主要是介绍成績查詢(vb.net2003 from listview datagrid),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

界面:

 

代碼:

 

Imports  System.Data.SqlClient
Public   Class Form1
    
Inherits System.Windows.Forms.Form

Windows Form 設計工具產生的程式碼

    
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    
End Sub

    
Private Sub GetStuInfoById()
        StuInfoLV.Columns.Clear()
        StuInfoLV.Items.Clear()
        StuInfoLV.View 
= View.Details
        StuInfoLV.HeaderStyle 
= ColumnHeaderStyle.Clickable
        StuInfoLV.MultiSelect 
= True
        StuInfoLV.FullRowSelect 
= True
        StuInfoLV.GridLines 
= True

        StuInfoLV.Columns.Add(
"學號"50, HorizontalAlignment.Left)
        StuInfoLV.Columns.Add(
"姓名"50, HorizontalAlignment.Left)
        StuInfoLV.Columns.Add(
"年齡"50, HorizontalAlignment.Left)
        StuInfoLV.Columns.Add(
"性別"50, HorizontalAlignment.Left)
        StuInfoLV.Columns.Add(
"年級"50, HorizontalAlignment.Left)
        
Dim Query As String = "select * from student where id=" + QueryTxt.Text
        
Dim consql As SqlConnection = New SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=;")
        
Dim myCommand As SqlCommand = New SqlCommand(Query, consql)
        myCommand.Connection.Open()
        
Dim myReader As SqlDataReader = myCommand.ExecuteReader()
        StuInfoLV.BeginUpdate()
        
While myReader.Read()
            
Dim id As String = myReader.GetDecimal(0).ToString()
            
Dim age As String = myReader.GetDecimal(2).ToString()
            
Dim sex As String = myReader.GetDecimal(3).ToString()

            
Dim grade As String = myReader.GetString(4).ToString()
            
Dim name As String = myReader.GetString(1).ToString()
            
If sex = "1" Then
                sex 
= ""
            
Else
                sex 
= ""
            
End If
            
Dim listSubItem As String() = {id, name, age, sex, grade}
            
Dim li As ListViewItem = New ListViewItem(listSubItem)
            StuInfoLV.Items.Add(li)
        
End While
        myReader.Close()
        myCommand.Connection.Close()
        StuInfoLV.EndUpdate()
    
End Sub

    
Private Sub GetSteudentInfoScoreByID()
        
Dim consql As SqlConnection = New SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=;")
        
'Dim consql As SqlConnection = New SqlConnection("Data Source=(local);Initial Catalog=test;user id=sa;password=;")
        Dim Query As String = "select a.id,a.name,b.course,b.score,b.type from student a left join score b on a.id=b.id where a.id=" + QueryTxt.Text
        
Dim myadpter As SqlDataAdapter = New SqlDataAdapter(Query, consql)
        
Dim myTable As DataTable = New DataTable
        myadpter.Fill(myTable)
        myTable.Columns(
0).ColumnName = "學號"
        myTable.Columns(
1).ColumnName = "姓名"
        myTable.Columns(
2).ColumnName = "課程"
        myTable.Columns(
3).ColumnName = "成績"
        myTable.Columns(
4).ColumnName = "類型"
        
Dim i As Int16
        
For i = 0 To myTable.Rows.Count() - 1
            
Dim type As String = CType(myTable.Rows(i).Item(4), String)
            
If type = "0" Then
                myTable.Rows(i).Item(
4= "主修"
            
Else
                myTable.Rows(i).Item(
4= "選修"
            
End If
        
Next
        DataGrid1.DataSource 
= myTable
    
End Sub

    
Private Sub GetStuInfoByScore()
        
Dim ds As DataSet = New DataSet
        
Dim consql As SqlConnection = New SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=;")
        
Dim Query As String = "select a.id,a.name,a.grade,B.cj from student a,(select id,avg(score) cj from score  group by id) B where a.id=B.id"
        
Dim myadpter As SqlDataAdapter = New SqlDataAdapter(Query, consql)
        myadpter.Fill(ds, 
"student")
        
Dim myTable As DataTable = ds.Tables("student")
        myTable.Columns(
0).ColumnName = "學號"
        myTable.Columns(
1).ColumnName = "姓名"
        myTable.Columns(
2).ColumnName = "年級"
        myTable.Columns(
3).ColumnName = "平均成績"

        
Dim myDataView As DataView = New DataView
        
With myDataView
            .Table 
= ds.Tables("student")
            .RowStateFilter 
= DataViewRowState.CurrentRows
            .Sort 
= "平均成績,年級"
            .RowFilter 
= "平均成績>" + QueryTxt.Text
        
End With
        DataGrid1.DataSource 
= myDataView
    
End Sub


    
Private Sub QueryBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QueryBtn.Click
        
'根據學號查詢學生信息
        If XHRadBtn.Checked And StuRadBtn.Checked Then
            StuInfoLV.Visible 
= True
            DataGrid1.Visible 
= False
            GetStuInfoById()
            
Return
        
End If
        
'根據學號查詢學生成績
        If XHRadBtn.Checked And ScrRadBtn.Checked Then
            StuInfoLV.Visible 
= False
            DataGrid1.Visible 
= True
            GetSteudentInfoScoreByID()
            
Return
        
End If
        
'根據平均成績查詢學生信息
        If AvgRadBtn.Checked Then
            StuInfoLV.Visible 
= False
            DataGrid1.Visible 
= True
            GetStuInfoByScore()
            
Return
        
End If
    
End Sub

End Class

代碼下載

數據創建:

 

CREATE   TABLE   [ Score ]  (
    
[ ID ]   [ nvarchar ]  ( 10 ) COLLATE Chinese_Taiwan_Stroke_CI_AS  NULL  ,
    
[ Course ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_Taiwan_Stroke_CI_AS  NULL  ,
    
[ Score ]   [ numeric ] ( 18 0 NULL  ,
    
[ Type ]   [ nvarchar ]  ( 1 ) COLLATE Chinese_Taiwan_Stroke_CI_AS  NULL  
ON   [ PRIMARY ]
GO


CREATE   TABLE   [ Student ]  (
    
[ ID ]   [ numeric ] ( 18 0 NULL  ,
    
[ Name ]   [ nvarchar ]  ( 50 ) COLLATE Chinese_Taiwan_Stroke_CI_AS  NULL  ,
    
[ Age ]   [ numeric ] ( 18 0 NULL  ,
    
[ Sex ]   [ numeric ] ( 5 0 NOT   NULL  ,
    
[ Grade ]   [ nvarchar ]  ( 10 ) COLLATE Chinese_Taiwan_Stroke_CI_AS  NULL  
ON   [ PRIMARY ]
GO

这篇关于成績查詢(vb.net2003 from listview datagrid)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/245423

相关文章

用VB创建开始菜单快捷方式(无需其他DLL)

Option Explicit   Private Sub Command1_Click()   CreateProgManGroup Me, "测试", "test.grp"   CreateProgManItem Me, "d:\ghost.exe", "Ghost"   CreateProgManItem Me, "d:\setupQQ.exe", "QQ"   End

VB和51单片机串口通信讲解(只针对VB部分)

标记:该篇文章全部搬自如下网址:http://www.crystalradio.cn/thread-321839-1-1.html,谢谢啦            里面关于中文接收的部分,大家可以好好学习下,题主也在研究中................... Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口

VB项目中必需的几点技巧

1.    点击右上角的关闭按钮,要弹出“提示”,是否关闭,但用右键关闭时,不能重复提示 在vb中找到这个事件Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)If MsgBox("是否要退出", vbYesNo + vbDefaultButton2, "提示") = vbNo ThenCancel

listview与复选框的合并使用

在使用listview的过程中,我们常常需要使用复选框,实现一些批处理功能。这时候我们需使用自定义的adapter,实现相关复选框的事件响应。      首先在adapter定义一个哈希表,用于存放复选框的选中情况:      如private static HashMap<String,Boolean> isSelected,private static HashMap<Inter

在VB.net中,如何把20240906转化成日期格式

==标题== vb.net中,如何把20240906转化成日期格式 ==正文== 在 VB.NET 中,将一个数字字符串(如 "20240906")转换为日期格式,你可以使用 `DateTime.Parse` 或 `DateTime.TryParse` 方法。这些方法可以将符合日期格式的字符串解析为 `DateTime` 对象。以下是如何将 "20240906" 这样的字符串转换为日期格式的示

简单的android Listview使用例子

为了熟悉Listview的使用,做了一个小例子联系一下, 主要步骤: 1. 在MainActivity中,创建一个adapter对象(可以是android自带的ArrayAdapter,也可以是自定义的如SongAdapter) 2. 如果自定义,就要创建ListView的子项,如song_listview_item.xml 3. 创建ListView对象,并用setAdapter方法把a

兔子--计算listview的高度,解决listview与scrollview控件冲突

/** * 计算ListView的高度 * * @param listView */ public void setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter OrderGoodsAdapter listAdapter = (OrderGoodsAdapter) listView.getAda

Flutter-listview的item左右滑动,删除item

import 'package:flutter/material.dart';//列表左右滑动删除void main() =>runApp(MaterialApp(home: HomePage(),));class HomePage extends StatelessWidget {final List<String> items = List.generate(20, (index) =>

学习VB语言的步骤和资源

1. 基础知识 1.1 了解VB的基本语法 变量声明**: 使用 `Dim` 关键字。 Dim myVariable As Integer - **条件语句**: 使用 `If...Then...Else`。   If myVariable > 10 ThenMsgBox "Greater than 10"ElseMsgBox "10 or less"End If - **循

自定义布局实现listview上拉加载下拉刷新

listview布局有时加载数据偏多,需要上拉加载第二页等更多数据,下拉刷新数据等功能,也有开源的框架XRefreshView ,可以参考http://www.w2bc.com/Article/44291,当初开发项目时,便于自己控制,就自定义布局实现这功能。 1、自定义布局用来管理三个子控件:下拉头,包含内容的自定义listview,上拉头(代码有详细介绍) public class Pul