在asp中如何获得sql中的@@rowcount

eduyp 2006-03-22 12:09:31
在存储过程用@row=@@rowcount,在asp里如何得到@row呢?
...全文
78 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
huailairen 2006-03-22
在存储过程中把@@rowcount 付给一个变量作为output值返回,
用command对象的paramter对象,接收值。
回复
zlp321002 2006-03-22
--通过存储过程返回值获取.
C#代码如下:

//添加数据库引用
using System.Data.SqlClient;
......
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
String DBConnStr;
DataSet MyDataSet=new DataSet();
System.Data.SqlClient.SqlDataAdapter DataAdapter=new System.Data.SqlClient.SqlDataAdapter();
DBConnStr=System.Configuration.ConfigurationSettings.AppSettings["ConnectString"];
System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection(DBConnStr);
if (myConnection.State!=ConnectionState.Open)
{
myConnection.Open();
}
System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand("P_Test",myConnection);
myCommand.CommandType=CommandType.StoredProcedure;
//添加输入查询参数、赋予值
myCommand.Parameters.Add("@Name",SqlDbType.VarChar);
myCommand.Parameters["@Name"].Value ="A";

//添加输出参数
myCommand.Parameters.Add("@Rowcount",SqlDbType.Int);
myCommand.Parameters["@Rowcount"].Direction=ParameterDirection.Output;


myCommand.ExecuteNonQuery();
DataAdapter.SelectCommand = myCommand;

if (MyDataSet!=null)
{
DataAdapter.Fill(MyDataSet,"table");
}

DataGrid1.DataSource=MyDataSet;
DataGrid1.DataBind();
//得到存储过程输出参数
Label1.Text=myCommand.Parameters["@Rowcount"].Value.ToString();

if (myConnection.State == ConnectionState.Open)
{
myConnection.Close();
}

}

回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-03-22 12:09
社区公告
暂无公告