DbConnection conn = new OleDbConnection(string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=・・・");
DbCommand command = conn.CreateCommand();
command.CommandText = query; 
DbDataReader reader = command.ExecuteReader();
while (reader.Read()) {
  int n = reader[0]; // ココ
}

↑みたいな感じで、AccessのmdbファイルにOleDbで接続して、読み込んでいるのだけど、
「ココ」のところの「reader[0]」が、全部文字列を返します。

odbc経由で、下のようなSQLを流して、数値型で作った項目もです。

CREATE TABLE hoge (
  N INTEGER
)

oracle + VB.NET2003で、同じような感じで読みこんだときには、とうぜん数値の項目は数値で、文字列は文字列で
帰ってきました。

mdb(Jet)だと、これで正しい動作なんでしょうか?
それとも自分がどこか間違ってますか?