ODBC接続について
- 題名: ODBC接続について
- 著者: 亜紀
- 日時: 2007/11/19 10:50:07
- ID: 21015
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ODBC接続について
- 著者: trapemiyia
- 日時: 2007/11/19 11:26:26
- ID: 21016
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ODBC接続について
- 著者: 亜紀
- 日時: 2007/11/19 11:38:02
- ID: 21018
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: ODBC接続について
- 著者: 亜紀
- 日時: 2007/11/19 18:57:56
- ID: 21023
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: ODBC接続について
- 著者: 亜紀
- 日時: 2007/11/20 10:00:58
- ID: 21027
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
今、Oracleデータベースを使用していたのをMDB(Odbc接続)に変更をしようとしているのですが、
「パラメータが少なすぎます。1 を指定してください。」
とエラーが出て、なかなか先に進みません。
ソースは↓のようにしています。
--------Oracle--------
OracleConnection connection = new OracleConnection("User ID=xx;Password=xx;Data Source=xx");
connection.Open();
OracleParameter[] parameters = new OracleParameter[1];
parameters[0] = new OracleParameter("DATA_FLAG", "1");
parameters[0].Direction = ParameterDirection.Input;
OracleCommand command = new OracleCommand();
command.Connection = connection;
command.CommandText = "select * from TEST where DATA_FLAG = :DATA_FLAG";
command.CommandType = CommandType.Text;
foreach (IDataParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
OracleDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["0"]);
}
-----------------------------
上記のものを↓のように変更しました。
----------Odbc---------------
OdbcConnection connection = new OdbcConnection(@"Driver={Microsoft Access Driver (*.mdb)};DBQ=xx\test.mdb");
connection.Open();
OdbcParameter[] parameters = new OdbcParameter[1];
parameters[0] = new OdbcParameter("DATA_FLAG", "1");
parameters[0].Direction = ParameterDirection.Input;
OdbcCommand command = new OdbcCommand();
command.Connection = connection;
command.CommandText = "select * from TEST where DATA_FLAG = :DATA_FLAG";
command.CommandType = CommandType.Text;
foreach (IDataParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
OdbcDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["0"]);
}
-------------------------------------
何が原因なのでしょうか?
パラメータ(where条件)を外すと上手くいくので、:DATA_FLAG←この指定の仕方が間違っていると思ってはいるのですが、
どうすればいいのか?分かりません。
誰か分かる方よろしくお願いします。