|
分類:[C#]
Oracle10g、WindowsXP、VisualStudio2008C#にてODPを使いoracleを操作するプログラムで汎用アクセスルーチンを作成しています。
データ検索、作成、消去はできたのですが検索したデータの次を読むルーチンができません。
public static int DBF(string DB名, string Key名, int Ow)
{
int x = 0;
using (OracleConnection con = new OracleConnection())
{
con.ConnectionString = UID;
try
{
con.Open();
}
catch
{
MessageBox.Show("データベースの接続に失敗しました。");
return x;
}
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "select * from " + DB名 + " where " + Key名;
OracleDataReader dr = cmd.ExecuteReader();
try
{
dr.Read();
for (int i = 0; i < Ow; i++)
{
Tenso.OJ[i] = dr[i];
}
x = 1;
}
catch
{
MessageBox.Show("データが見つかりませんでした。");
}
}
return x;
}
public static int DBN(string DB名, string Key名, int Ow)
{
int x = 0;
using (OracleConnection con = new OracleConnection())
{
con.ConnectionString = UID;
try
{
con.Open();
}
catch
{
MessageBox.Show("データベースの接続に失敗しました。");
return x;
}
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "select * from " + DB名 + " where " + Key名;
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
try
{
dr.Read();
for (int i = 0; i < Ow; i++)
{
Tenso.OJ[i] = dr[i];
}
x = 1;
}
catch
{
MessageBox.Show("データが見つかりませんでした。");
}
}
return x;
}
というように作りましたが、DBF実行後処理をしてDBNを実行するのですがDBFで見つけたデータの次のデータが読めません。DBNのSQL文だと思うのですがどのようにしたらDBFで見つけたデータの次のデータを読んでくれるようになるでしょう?お力添えお願いします。
|