我写了一个DAL层 并且写了一个调用存储过程的方法在DAL层里 现在的问题就是我如何将我存储过程中OUTPUT类型取到的值返回到表示层来接收这个OUTPUT的值呢?
代码如下
public int Stored(string str,string str1)
{ string s = null;
con.Open();
SqlCommand com = new SqlCommand(str, con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.Add("@carid", System.Data.SqlDbType.NVarChar, 50);
com.Parameters.Add("@mess", System.Data.SqlDbType.NVarChar,50);
com.Parameters["@carid"].Value = str1;
com.Parameters["@mess"].Direction = ParameterDirection.Output;
int i= com.ExecuteNonQuery();
s = com.Parameters["@mess"].Value.ToString();//这是我已取到的OUTPUT的值,但是不知该如何传出去
con.Close();
return i;
}
}
}
解决方案 »
- 一个相当迷惑的问题:shared,Cache,Application关系如何暧昧的?
- 关于时间型数据的问题
- [VB]高分求助关于Repeater绑定的问题!
- 怎样修改dataset内某行文字的颜色、样式呢?请教谢谢
- 求全国所有城市名称,最好有IP地址,THKS
- 遇到一个困难:想在aspx页面用TextBox显示数据库中的内容,一行数据的表好办,但是有些表数据有多行,我不知道怎么了。
- 对于使用asp.net的一点困惑
- 在VS2003如何让页面的文档格式默认为flowlayout
- 在Asp.net中能否用ListView控件?
- 怎样解决网站中的卡顿问题
- 动态显示消息
- oledbdatareader 无法将带 [] 的索引应用于“object”类型的表达式
string strOutput;
int result = Stored(str, str1, out strOutput);
public int Stored(string str,string str1, out strOutput)
{
con.Open();
SqlCommand com = new SqlCommand(str, con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.Add("@carid", System.Data.SqlDbType.NVarChar, 50);
com.Parameters.Add("@mess", System.Data.SqlDbType.NVarChar,50);
com.Parameters["@carid"].Value = str1;
com.Parameters["@mess"].Direction = ParameterDirection.Output;
int i= com.ExecuteNonQuery();
strOutput = com.Parameters["@mess"].Value.ToString();//这是我已取到的OUTPUT的值,但是不知该如何传出去
con.Close();
return i;
}
}
}
不好意思,手写错了。
public int Stored(string str,string str1, out string strOutput)
我那个存储过程的调用方法是写在DAL架构里面的,int result = Stored(str, str1, out strOutput);这个是什么意思呢?请指教 !还有一个问题就是怎么传到外面的呢?在外面来接收呢 我这里的外面指的是
如下代码using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Model;
using BLL;
using System.Data.SqlClient;
namespace Parking
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void BtnSave_Click(object sender, EventArgs e)
{
this.Label1.Text = "已存在相同编号";
if (this.Txid.Text.Trim() != "")
{
CarInfo get = new CarInfo();
get.Carid = this.Txid.Text;
Operate p = new Operate();
p.StoredProcess(get);
//这里我想接收@mess 该怎么做? if (this.Label1.Text != "@mess")
{
CarInfo hold = new CarInfo();
hold.Carguid = Guid.NewGuid().ToString();
hold.Carid = this.Txid.Text;
hold.CarNumber = this.Txnumber.Text;
hold.Intime = this.Txtime.Text;
Operate x = new Operate();
x.CarIn(hold);
}
else
{
return;
}
} } }
}
//这里我想接收@mess 该怎么做?
string mess = "";
int result = Stored(str, str1, out mess);result 是方法的返回值,mess在这个方法被调用后就变成了你要得到的值