charan sekhar

charan sekhar

  • NA
  • 108
  • 0

returning null value from procedure

Jun 17 2010 4:36 AM

hi iam using asp.net2.0 with c#  with sql server 2000
when iam executing the procedure in local system it is working fine.but when iam executing in client system procedure returns null value, i  have checked all connection string , and session value all are working

can you correct the code which helps me
 
 
string
strcon = "Data Source=";
strcon += Request.Params[
"REMOTE_ADDR"] + ";" + "Initial Catalog=POS;User ID=sa;Password=xx0103";
 
SqlConnection concreate = new SqlConnection(strcon);
string pp = "";
pp =
"create procedure getsum( @BranchKey int,@FromDate smalldatetime,@ToDate smalldatetime, @tot decimal output )";
pp +=
"as";
pp +=
"\n";
pp +=
"set @tot=(SELECT SUM(Amount) FROM AllTransactions WHERE BranchKey=@BranchKey and (TransCode <> 0) and (TransDate > @FromDate) and (TransDate < @ToDate) GROUP by BranchKey)";
pp +=
"return @tot";
pp +=
";";
//SqlCommand cmdcreate = new SqlCommand("create procedure getsum( @BranchKey int,@TransCode tinyint, @TransDate smalldatetime,@tot decimal output ) as set @tot= (SELECT SUM(Amount) FROM AllTransactions WHERE BranchKey=@BranchKey and (TransCode <> 0) and (TransDate > @TransDate) and (TransDate < @TransDate) GROUP by BranchKey) return @tot; go", concreate);
SqlCommand cmdcreate = new SqlCommand(pp, concreate);
concreate.Open();
cmdcreate.ExecuteNonQuery();
concreate.Close();
 
SqlConnection conproc = new SqlConnection(strcon);
conproc.Open();
SqlCommand cmdproc = new SqlCommand("getsum", conproc);
cmdproc.CommandType =
CommandType.StoredProcedure;
 
cmdproc.Parameters.AddWithValue(
"@BranchKey", Convert.ToInt32(Session["BranchKey"]));
DateTime dt = Convert.ToDateTime(txtfrom.Text.ToString());
string fromDate = dt.ToShortDateString();
DateTime dt1 = Convert.ToDateTime(txtto.Text.ToString());
string toDate = dt1.ToShortDateString();
cmdproc.Parameters.AddWithValue(
"@FromDate", fromDate);
cmdproc.Parameters.AddWithValue(
"@ToDate", toDate);
SqlParameter p1 = cmdproc.Parameters.Add("@tot", SqlDbType.Decimal);
p1.Direction =
ParameterDirection.Output;
if ((cmdproc.ExecuteScalar() != DBNull.Value) && (cmdproc.Parameters["@tot"].Value) != DBNull.Value)
{
decimal ot = Convert.ToDecimal(cmdproc.Parameters["@tot"].Value);
if (ot != null)
{
txttotal.Text = ot.ToString();
conproc.Close();
}
}
else
{
 
clsdataset.ShowAlertMessage("No Data");
}

Answers (1)