- - PR -
DataRowの型指定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-06-11 12:06
C#でOrcle+ODP.NETで開発しています。
以下のサンプルでテストしているのですが、Oracleのデータ型と DataRowオブジェクトのデータ型の対応が分かりません。 Oralce上の定義は以下のようにしています。 商品名1 varchar(50) 安全係数 NUMBER(6,3) 調達期間 NUMBER(3) 仕入単価 NUMBER(10,2) アプリケーションでは以下のような型で返ってきます。 商品名1 string 安全係数 Single 調達期間 Int16 仕入単価 Double 1.商品名や調達期間は理解できるのですが、安全係数や仕入単価が なぜ、SingleやDoubleを使用するのか分かりません。 自動的に型変換しているのでしょうか? 2.出来ればDecimalで取得したいのですが可能なのでしょうか? どのように設定すればいいのでしょうか? 実行サンプル OracleConnection Conn = new OracleConnection(); Conn.ConnectionString = "Data Source=ICS;User Id=ICS;Password=ICS;"; Conn.Open(); string strSQL = "SELECT 商品名1, 安全係数, 調達期間, 仕入単価 FROM M_商品マスタ "; OracleCommand Cmd = new OracleCommand(); Cmd.Connection = Conn; Cmd.CommandText = strSQL; OracleDataAdapter da = new OracleDataAdapter(Cmd); DataSet ds = new DataSet(); da.Fill(ds, "tbl"); DataTable tbl = ds.Tables["tbl"]; for(int i=0; i<tbl.Rows.Count; i++) { DataRow dr = tbl.Rows[i]; Console.Write(dr["商品名1"]); Console.Write(dr["安全係数"]); Console.Write(dr["調達期間"]); Console.WriteLine(dr["仕入単価"]); } よろしくお願いします。 |
1