HI !!
Here is my code . a bit longer. i hope you dont mind. Here none of my output parameters contain any return value after execution.
================================================== =============
protected void Button3_Click(object sender, EventArgs e)
{// add product
SqlConnection cn2 = new SqlConnection("user id=sa;password=;database=das");
SqlCommand c2 = new SqlCommand("UPDTRAN ", cn2);
c2.CommandType = CommandType.StoredProcedure;
SqlParameter parameter =c2.Parameters.Add("@VCHRNO", SqlDbType.Decimal,5);
parameter.Direction = ParameterDirection.InputOutput;
if (Label9.Text == "")
{ //add a new invoice
parameter.Value=(decimal) -1;
}
else
//add in to last invoice
{
parameter.Value= Convert.ToDecimal(Label9.Text);
}
parameter = c2.Parameters.Add("@SLNO", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.InputOutput;
if (Label13.Text == "")
Label13.Text = "0";
parameter.Value = Convert.ToDecimal(Label13.Text);
parameter = c2.Parameters.Add("@TDATE", SqlDbType.DateTime);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToDateTime(d2.SelectedItem.Text + "-" + d1.SelectedItem.Text + "-" + d3.SelectedItem.Text);
//parameter.Value = d2.SelectedItem.Text + "-" + d1.SelectedItem.Text + "-" + d3.SelectedItem.Text;
parameter = c2.Parameters.Add("@SLCODE", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToDecimal(dl2.SelectedItem.Value.ToString( ));
parameter = c2.Parameters.Add("@TAMT", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.InputOutput;
parameter.Value = Convert.ToDecimal(Label12.Text);
parameter = c2.Parameters.Add("@TTYPE", SqlDbType.Char);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToChar(dl1.SelectedIndex);
parameter = c2.Parameters.Add("@DC", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.Input;
parameter.Value =(decimal) -1;
parameter = c2.Parameters.Add("@PCODE", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToDecimal(dl3.SelectedValue.ToString());
parameter = c2.Parameters.Add("@QTY", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToDecimal(t1.Text);
parameter = c2.Parameters.Add("@RATE", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToDecimal(t2.Text);
parameter = c2.Parameters.Add("@TAX", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToDecimal(t4.Text);
parameter = c2.Parameters.Add("@DSCNT", SqlDbType.Decimal);
parameter.Direction = ParameterDirection.Input;
parameter.Value = Convert.ToDecimal(t3.Text);
Label14.Text = c2.Parameters.Count.ToString() + ","+c2.Parameters["@SLNO"].Value.ToString() +","+ c2.Parameters["@VCHRNO"].Value.ToString();
try
{
cn2.Open();
int dr;
dr = c2.ExecuteNonQuery();
Label13.Text=c2.Parameters["@SLNO"].Value.ToString();
Label9.Text = c2.Parameters["@VCHRNO"].Value.ToString();
Label15.Text = c2.Parameters.Count.ToString() + c2.Parameters["@SLNO"].Value.ToString() + c2.Parameters["@VCHRNO"].Value.ToString();
}
catch (SqlException se)
{
LL.Text=se.Message;
}
}
Quote:
quote:Originally posted by samjudson
Output parameters and Return values are dfferent things.
I think an InputOutput parameter can just be used like an output parameter, except you can also pass in an initial value.
Show us some code that is not working an we might be able to help better...
/- Sam Judson : Wrox Technical Editor -/
|
dev(1);