1

私は奇妙な問題を抱えています。私は .Net 用に Firebird を使用しており、Interbase データベースを使用しています。SQL クエリを使用してデータセットを入力しようとすると正常に動作しますが、storedProc を実行しようとすると、fill メソッドでハングします。

これが私のコードのスニペットです:

DataTable dt = new DataTable();
 FbDataAdapter ada = new FbDataAdapter("spsGetLastOpened",        System.Configuration.ConfigurationManager.ConnectionStrings["mydb"].ConnectionString);
 ada.SelectCommand.CommandType = CommandType.StoredProcedure;
 ada.SelectCommand.Parameters.Add("@USER_KEY",2);
 ada.Fill(dt);

データベースとの接続がすでに開いている場合に発生することが示唆されている問題をグーグルで調べたので、接続を開かないスタンドアロンユーティリティを作成しました(Dataadapterは独自に接続を管理します)。

ここで何が間違っているのかアドバイスしてください。

敬具、アリ

4

2 に答える 2

0

私は .Net に firebird を使用していませんが、覚えておきたいことが 1 つあります。ストアドプロシージャを通常のSQL文として実行できます

-プロシージャ SomeProc(?,...) を実行

または選択可能なプロシージャの場合

-select * from SomeProc(?,....)

于 2011-12-21T18:47:22.327 に答える
0

グーグルからここにたどり着いた人のために..理由はわかりませんが、トランザクションとして実行するとうまくいきました。選択クエリのみを実行しましたが、なぜそれが機能したのか理解できませんか?

于 2011-12-26T01:49:25.043 に答える