从表中取一个值

时间:2017-04-13 04:19:17

标签: vb.net ado.net

对不起,如果以前曾经问过,但我发现的一切都没用。

我希望将表中的值设置为标签的text属性。这就是我到目前为止所做的:

在一个单独的类中,连接字符串为“conn” -

(SQL Region)

Public Const SELECT_1 As String = "SELECT TOP 1 * FROM [TableTimes] 
WHERE [timeID] = @PKey"

(方法区域)

Public Shared Function returnOneRow(PrimaryKey As Integer) As TableTimes
            Dim returnRow As New TableTimes(0)
            Dim conn As New SqlConnection
            conn.connectionstring = Conn.getConnectionString

            Dim command As New SqlCommand
            command.connection = conn
            command.CommandType = CommandType.Text
            command.CommandText = SQL.SELECT_1
            command.Parameters.AddWithValue("@PKey", PrimaryKey)
            Try
                conn.Open()
                Dim dR As IDataReader = command.ExecuteReader
                If dR.Read() Then
                    returnRow.timeID = PK
                    If Not IsDBNull(dR(Fields.linkID)) Then returnRow.linkID = dR(Fields.linkID)
                    If Not IsDBNull(dR(Fields.dateTime)) Then returnRow.dateTime = dR(Fields.dateTime)
                End If
            Catch ex As Exception
                Console.WriteLine(Err.Description)
            End Try
            Return returnRow
        End Function

然后回到主窗体我试图根据我作为参数输入的主键(timeID)将dateTime设置为标签。这是我能想到的最接近的:

label.Text = (Tables.TableTimes.returnOneRow(1).dateTime).ToString

我知道根据我的表格数据,timeID为1的行的输出应为“2016-02-04 10:00:00”,而是返回“0001-01-01 12:00:00” “无论我输入什么参数。

如果可能的话,我宁愿不改变我的方法或sql语句,只是改变我在主窗体中调用函数的方式。

谢谢!

0 个答案:

没有答案