- PR -

DataTable型

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-07-29 13:14
SQLの実行結果をDataTable型で取得したのですが
DT_SiteTrack.Rows(i).Item("TrackCode")がChar型にも関わらず
integer型でデータが帰ってきてしまいます。どうしてでしょうか?

TrackCodeはDBには001,002,003のようなデータが入っていますが
下記の処理だと1,2,3のinteger型になってしまいます。

Dim i As Integer
Dim Site_Data(1, i) As String

Dim DT_SiteTrack As DataTable = getTrackCode(con1)
For i = 0 To DT_SiteTrack.Rows.Count - 1
If i <> 0 Then
ReDim Preserve Site_Data(1, i)
End If
Site_Data(0, i) = DT_SiteTrack.Rows(i).Item("TrackCode")
Site_Data(1, i) = DT_SiteTrack.Rows(i).Item("SiteID")
Next

Public Function GetDataTable(ByVal command As SqlCommand) As DataTable

Dim result As New DataTable()
Dim adapter As New SqlDataAdapter()

'テーブルデータ取得
adapter.SelectCommand = command
adapter.Fill(result)

'データテーブルを返す。
GetDataTable = result

End Function

Private Function getTrackCode(ByVal Con As SqlConnection) As DataTable

Dim Cmd As New SqlCommand()

Cmd = Con.CreateCommand

Dim strSQL As String = ""
strSQL = strSQL & "SELECT TrackCode, SiteID "
strSQL = strSQL & "FROM Site WHERE Del_Flag = 0 ORDER BY TrackCode"
Cmd.CommandText = strSQL

Return GetDataTable(Cmd)

End Function

1

スキルアップ/キャリアアップ(JOB@IT)