Zdravím, mám proceduru se vstupním i výstupním parametrem. Se vstupním parametrem problém nemám, ale výstupní mi nefunguje. V kódu to je takhle:
public void ProcedureTest(int c_obj,String nazDod)
{
mDatabase.Connect();
SqlCommand command = mDatabase.CreateCommand(PROCEDURA_TEST);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@c_obj", SqlDbType.Int, 0, "c_obj");
command.Parameters.Add("@nazev_dod", SqlDbType.VarChar, 50, "nazev_dod");
command.Parameters[0].Value = c_obj;
command.Parameters[1].Direction = ParameterDirection.Output;
command.ExecuteNonQuery();
nazDod = command.Parameters[1].Value.ToString();
mDatabase.Close();
}
Spouštím přes tlačítko událost:
protected void Button1_Click(object sender, EventArgs e)
{
Database.ObjednavkaTable addSourceRecord = new Database.ObjednavkaTable();
addSourceRecord.ProcedureTest(Convert.ToInt32(TextBox1.Text), LabelDodNaz.Text);
}
Vypadá to ale tak, že do toho výstupu se nic nezapíše. Samotná procedura je jednoduchá a v databázi funguje:
CREATE PROCEDURE [dbo].[test]
@c_obj int,@nazev_dod varchar(50) output
AS
BEGIN
SELECT @nazev_dod=dod.nazev_dod FROM Dodavatel dod,Objednavka obj WHERE
dod.id_dod=obj.id_dod AND obj.c_obj=@c_obj
END
Poradil by někdo ?
|