水曜日, 5月 21, 2008
[C#]object型のキャスト
▼質問
次のプログラムで 「指定されたキャストは有効ではありません。」のエラーが出る。どうして?
string sql = "SELECT * FROM テーブル名";
OracleDataAdapter objAdapter;
objAdapter = new OracleDataAdapter(sql, objOraConn);
DataSet objOraDataSet;
objOraDataSet = new DataSet("objDataSet");
// Fill the DataSet
objAdapter.Fill(objOraDataSet, "テーブル名");
DataRow objRow = objOraDataSet.Tables[0].Rows[0];
int val = (int)objRow["フィールド名"]; ← ここでエラー
▼回答
次の2つを使い分けてやればOK?!
Convert.ToInt32(objRow["フィールド名"]);
((IConvertible)objRow["フィールド名"]).ToInt32(null);
■参考サイト
object型のキャストについて: DOBON.NETプログラミング掲示板過去ログ
http://dobon.net/vb/bbs/log3-16/9607.html
次のプログラムで 「指定されたキャストは有効ではありません。」のエラーが出る。どうして?
string sql = "SELECT * FROM テーブル名";
OracleDataAdapter objAdapter;
objAdapter = new OracleDataAdapter(sql, objOraConn);
DataSet objOraDataSet;
objOraDataSet = new DataSet("objDataSet");
// Fill the DataSet
objAdapter.Fill(objOraDataSet, "テーブル名");
DataRow objRow = objOraDataSet.Tables[0].Rows[0];
int val = (int)objRow["フィールド名"]; ← ここでエラー
▼回答
次の2つを使い分けてやればOK?!
Convert.ToInt32(objRow["フィールド名"]);
((IConvertible)objRow["フィールド名"]).ToInt32(null);
■参考サイト
object型のキャストについて: DOBON.NETプログラミング掲示板過去ログ
http://dobon.net/vb/bbs/log3-16/9607.html