用Firebird .NET Data Provider编写.NET应用程序(2)

使用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,还是另有原因呢?

你可能感兴趣的:(Provider)