好的,我在这里,我认为这是一个简单的逻辑问题。
我将首先向您展示我的代码(至少我认为您需要的所有代码)然后解释问题。
Function GetTimeZone(ByVal state As String) As Integer
Dim TaxConnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ConfigurationManager.AppSettings("Database")
Dim dbConnection As OleDbConnection = New OleDbConnection(TaxConnStr)
Try
Dim queryString As String
queryString = "SELECT Top 1 Zips.State, Zips.TimeZone "
queryString += "FROM Zips "
queryString += "WHERE (((Zips.State)='" & state & "'));"
Dim dbCommand As OleDbCommand = New OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dataAdapter As OleDbDataAdapter = New OleDbDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As DataSet = New DataSet
dataAdapter.Fill(dataSet)
If dataSet.Tables(0).Rows.Count >= 1 Then
Return dataSet.Tables(0).Rows(0).Item("TimeZone")
Else
Return 0
End If
Catch ex As Exception
Console.WriteLine(ex.Message)
myLogger.Log(ex.Message)
Finally
dbConnection.Close()
End Try
end Function
好的,我要做的不是根据州(此代码如何获取它)而是根据邮政编码找出时区。这显然是 b/c 一些州(KY、TN、OK 等)按其时区划分。
所以我最终希望这个函数查看邮政编码......找出邮政编码所在的时区......然后返回时区。
如果不是很明显。从中提取此信息的表名为“Zips”。它由几列组成,包括邮编、城市、州、县、区号和时区。表中的时区列只有“5、6、7、8等”等值来对应每个时区。5 = 东部,6 = 中部,依此类推..
感谢您的任何指导。