【问题标题】:How to change the case of all characters when loading to datagridview using vb.net使用vb.net加载到datagridview时如何更改所有字符的大小写
【发布时间】:2026-01-25 21:25:01
【问题描述】:

我想将datagridview 中的text 的格式更改为uppercase,如图所示

我的 vb.net 代码

Using cmd As New SqlClient.SqlCommand("dbo.uspSELECTALL", cn)
    dgv1.DataSource = Nothing
    da.SelectCommand = cmd
    dt.Clear()
    da.Fill(dt)
    dgv1.RowTemplate.Height = 30
    dgv1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
    dgv1.ColumnCount = 7
    dgv1.AutoGenerateColumns = False
    dgv1.Columns(0).Name = "Student ID"
    dgv1.Columns(0).DataPropertyName = "StudentID"
    dgv1.Columns(1).Name = "Last Name"
    dgv1.Columns(1).DataPropertyName = ("SurName")
    dgv1.Columns(2).Name = "First Name"
    dgv1.Columns(2).DataPropertyName = ("FirstName")
    dgv1.Columns(3).Name = "Middle Name"
    dgv1.Columns(3).DataPropertyName = "MiddleName"
    dgv1.Columns(4).Name = "Gender"
    dgv1.Columns(4).DataPropertyName = "Gender"
    dgv1.Columns(5).Name = "Birthday"
    dgv1.Columns(5).DataPropertyName = "Birthday"
    dgv1.Columns(6).Name = "Age"
    dgv1.Columns(6).DataPropertyName = "Age"

End Using

我的店铺流程代码

ALTER PROCEDURE [dbo].[uspSELECTALL]


AS
BEGIN

    SET NOCOUNT ON;
    SELECT  
            Birthday,getdate() AS [Today],
            Datediff(yy,BirthDay,getdate()) -
            CASE
                WHEN DATEADD(YY, DATEDIFF(YY,BirthDay,getdate()),BirthDay)
                >GETDATE() THEN 1
                ELSE 0

            END AS [age],
            StudentID,(Surname),FirstName,
            MiddleName, Gender,BirthDay,TelNum
            FROM StudentInformation
END

我尝试将upper 放入我的代码中,就像在下面的代码中一样,但它不起作用。有人可以帮我修复我的代码。谢谢

ALTER PROCEDURE [dbo].[uspSELECTALL]


AS
BEGIN

    SET NOCOUNT ON;
    SELECT  
            Birthday,getdate() AS [Today],
            Datediff(yy,BirthDay,getdate()) -
            CASE
                WHEN DATEADD(YY, DATEDIFF(YY,BirthDay,getdate()),BirthDay)
                >GETDATE() THEN 1
                ELSE 0

            END AS [age],
            StudentID,Upper(Surname),upper(FirstName),
            upper(MiddleName), Gender,BirthDay,TelNum
            FROM StudentInformation
END

【问题讨论】:

  • but it does not work. 是什么意思?您是否收到编译错误、执行错误、异常? 无论如何都应该在应用层完成。这只是演示文稿的问题。
  • 在存储过程中使用 upper() 应该可以工作。当您说它不起作用时,您是否收到任何错误?

标签: sql-server vb.net sql-server-2008 datagridview uppercase


【解决方案1】:

在上面的 () 列上添加列别名

SELECT  
            Birthday,getdate() AS [Today],
            Datediff(yy,BirthDay,getdate()) -
            CASE
                WHEN DATEADD(YY, DATEDIFF(YY,BirthDay,getdate()),BirthDay)
                >GETDATE() THEN 1
                ELSE 0

            END AS [age],
            StudentID,
            UPPER(Surname) as Surname,
            UPPER(FirstName) AS FirstName,
            UPPER(MiddleName) as MiddleName,
            Gender,BirthDay,TelNum
            FROM StudentInformation

【讨论】:

    最近更新 更多