автор |
Так и должно быть. В документации на ExecuteNonQuery это описано. |
Там сказано:
For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is -1.
Это имеется в виду, что если сам текст содержит эти слова, то тогда будет число строк, а если он вызывает процедуру, которая вставляет, удаляет или обновляет, то тогда минус 1, так, что ли?
Если так, то это полная фигня. Чем принципиально отличается непосредственное выполнение какого-то выражения от выполнения хп, которая делает то же самое.
итак, там было вот что:
FbConnection myConnection = new FbConnection(connectionString);
myConnection.Open();
FbCommand myCommand = new FbCommand();
FbTransaction tran;
myTrans = myConnection.BeginTransaction();
myCommand.Connection = myConnection;
myCommand.Transaction = tran;
try
{
myCommand.CommandText = "pr_New_Proc"; //название процедуры, кот вставляет данные
myCommand.CommandType = CommandType.StoredProcedure;
int n = myCommand.ExecuteNonQuery(); // всегда -1...
tran.Commit();
}
catch...
|
Что касается параметров
автор |
RTFM FbParameterCollection |
Там нет ни одного примера! И нигде не написано, как именно следует вставлять в выражение эти параметры.