閲覧総計:3285 (本日:1 昨日:0)
MS-AccessのデータをOleDb接続でハンドリングする際、MS-Accessの各データ型は
OleDbTypeではどの様に表現するか?の対照表は重宝する。
一覧にまとめてあるページを見付けたのでリンクを張っておく。 10/11/13
↓MS-Accessのデータ型とOleDbTypeの対照表
http://support.microsoft.com/kb/320435/ja
【代表例】
MS-Accessのデータ型 | OleDbType |
---|---|
テキスト型 | VarWChar |
長整数型 | Integer |
整数型 | SmallInt |
オートナンバ型 | Integer |
日付/時刻型 | Date |
通貨型 | Numeric |
【コード記述例】
'AccessDBにOleDbで接続 Using objDb As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AccessDB.mdb") '弁当注文情報の取得 Dim objCom As New OleDbCommand("SELECT * FROM [弁当注文テーブル] WHERE [名前] = @syainNam AND [昼食日付] = @CalDate", objDb) objCom.Parameters.Add("@syainNam", OleDbType.VarWChar, 50) objCom.Parameters("@syainNam").Value = Label2.Text objCom.Parameters.Add("@CalDate", OleDbType.WVarChar, 10) objCom.Parameters("@CalDate").Value = e.Day.Date.ToString("yyyy/MM/dd") objDb.Open() Dim objDr As OleDbDataReader = objCom.ExecuteReader() '各日の注文した昼食弁当情報を日付セル(e.Call)配下のコントロールとして追加 Do While objDr.Read() e.Cell.Controls.Clear() 'e.Cell.Controls. e.Cell.Controls.Add(CancelConfirm(e)) e.Cell.Controls.Add(New LiteralControl("<br />" & objDr.GetString(3))) 'Sessionへの情報記述 Session(e.Day.Date.ToString("yyyy/MM/dd")) = objDr.GetValue(0) Loop End Using