FBDataAdapter使用StoredProc挂起填充

时间:2011-12-21 18:16:01

标签: .net firebird interbase

我有一个奇怪的问题。我正在使用Firebird for .Net并使用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自己管理连接)。

请告知我在这里做错了什么。

亲切的问候, 阿里

2 个答案:

答案 0 :(得分:0)

我没有使用firebird作为.Net,但我想记住一件事。您可以将常规sql语句执行存储过程

-execute procedure SomeProc(?,...)

或可选择的过程

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

答案 1 :(得分:0)

对于任何从谷歌到这里的人来说.. 我不知道原因是什么,但当我作为交易执行时它起作用了。我只运行了选择查询,我无法理解为什么它有效?