Здравствуйте, Блудов Павел, Вы писали:
БП>Попробуйте
БП>using(DbManager db = new DbManager())
{
db.SetSpCommand("INSERTDATA", db.CreateParameters(data, new string[]{"ID"})).ExecuteNonQuery(null, data);
}
Так и сделал, просто не хотелось делать лишних телодвижений.
Y>>а почему не p.Direction = param.Direction; ?
БП>Потому что SqlCommandBuilder.DeriveParameters не знает про выходные параметры. Только про входно-выходные. Вот эта строка этот момент и исправляет.
У меня FbCommandBuilder.DeriveParameters (Firebird NetProvider2) направление параметров выдаёт правильно ID — output, STR10 — input
CREATE PROCEDURE INSERTDATA (STR10 varchar(10))
returns (ID integer)
as
begin
ID = GEN_ID(GEN_DATA_ID,1);
insert into DATA(ID, STR10) values(:ID, :STR10);
suspend;
end