2013-04-15 3 views
-2

Я работаю над кнопкой, которая будет выполнять хранимую процедуру. Когда данные возвращаются, мне нужен только номер записи, который будет передан в массив, который позже будет использоваться для обратной страницы. Затем обратная ссылка для aspx вводит номер записи в строку и перенаправляет пользователя на страницу RecordInfo. Вот то, что я до сих пор, но я получаю ту же ошибку: { «SqlParameter с ParameterName„@RecNum_OUT“не содержится этой SqlParameterCollection»}stC#: Как вызвать хранимую процедуру и использовать параметр в виде массива

Я надеюсь, что вы можете помочь мне ,

<asp:Button ID="GetNextRec" runat="server" Text="Get Part" 
      onclick="GetNextRec_Click" OnCommand="btnNext_OnClick" /> 

ASPX.CS

protected void GetNextRec_Click(object sender, EventArgs e) 
{ 
     String[] q = new String[1]; 
     q = Record.GetNextRec(); 
     Response.Redirect("~/PartsRecord.aspx?mode=full&queue=" + q[0], false); 
} 

База данных CS

public static String[] GetNextRec() 
    { 
     Database db = DataFactory.CreateDatabase(); 
     DbCommand dbc = db.GetProc("GetNextRec"); 

     db.ExecuteNonQuery(dbc); // IDK if this si doing anything 
     String[] q = new string[1]; 
     q[0] = dbc.Parameters["@RecNum_OUT"].Value.ToString(); // "An SqlParameter with ParameterName '@requisition_OUT' is not contained by this SqlParameterCollection."} 
     return q; 
    } 
+0

'Я хочу, чтобы хранимая процедура собирала необходимые данные и возвращала информацию о детали в файл данных. ', что именно это означает? –

+0

Я хотел сказать, что хранимая процедура уже настроена для получения данных, которые я хотел бы удалить. Затем эти данные должны быть вставлены в datagrid – user1880670

+0

. Какая у вас проблема? Вы получаете исключение? –

ответ

0

Так Я наконец-то понял. Я смог заполнить нужную мне страницу на основе набора параметров в хранимой процедуре. я использовал код folloing:

db.AddOutParameter(dbCommand, "RecNum_OUT", DbType.String, 15);-- 

ниже команды, чтобы получить процедуру необходимо. Как только я добавил, что все работает нормально.

Спасибо тем, кто пытался помочь.

0

Итак, для вызова процедуры без параметров просто удалить эти две строки:

db.AddOutParameter(dbc, "Record_OUT", DbType.String, 15); 
db.AddOutParameter(dbc, "locator_OUT", DbType.String, 9); 
+0

Это не поможет, я пробовал так много способов. Тем не менее, я изменил свой подход и хотел бы помочь, если вы справитесь с этим. – user1880670

+0

@user, что именно вы изменили в своем подходе? Вы обновили вопрос с помощью этого нового подхода и проблем, которые у вас возникли? –