使用Firebird .NET Data Provider编写调用Firebird数据库的存储过程的方法如下:
cn.Open();
FirebirdSql.Data.Firebird.FbCommand cm=new FirebirdSql.Data.Firebird.FbCommand();
cm.Connection=cn;
cm.CommandType=System.Data.CommandType.StoredProcedure;
cm.CommandText="SP_1_ADD";
cm.Parameters.Add("@F1",FirebirdSql.Data.Firebird.FbDbType.Integer).Value=1;
cm.Parameters.Add("@F2",FirebirdSql.Data.Firebird.FbDbType.Date).Value="2005-1-1";
cm.Parameters.Add("@F3",FirebirdSql.Data.Firebird.FbDbType.VarChar,20).Value="SPTest";
cm.ExecuteNonQuery();
cn.Close();
另外,参数的添加还可以使用如下的方法
FirebirdSql.Data.Firebird.FbParameter fp=new FirebirdSql.Data.Firebird.FbParameter("@F1",FirebirdSql.Data.Firebird.FbDbType.Integer);
fp.Value=1;
cm.Parameters.Add(fp);
但在使用如下代码
FirebirdSql.Data.Firebird.FbParameter fp1=new FirebirdSql.Data.Firebird.FbParameter();
fp1.ParameterName="@F1";
fp1.DbType=(System.Data.DbType)FirebirdSql.Data.Firebird.FbDbType.Integer;
fp1.Value=1;
cm.Parameters.Add(fp1);
添加参数,在编译的时候没任何错误但在运行时会出现"Incorrect Guid value"的错误。这样的代码在调用SQL Server数据库中的存储过程是没有任何问题的,不知这是Firebird .NET Data Provider的一个BUG,还是另有原因呢?
转载于:https://www.cnblogs.com/yistudio/archive/2005/07/08/188361.html