当前位置:首页 » 存储配置 » aspnet存储过程返回值

aspnet存储过程返回值

发布时间: 2022-06-16 06:23:50

㈠ c#如何取得存储过程的返回值

比如你的存储过程返回参数变量名字为@res,而且sqlcommand cmd已经声明定义;
那么在执行sql语句之前
应该:
cmd.Parameters["@res"].Direction = ParameterDirection.InputOutput;
然后执行sql语句;
执行完毕再:
int res=(int)cmd.Parameters["@res"].Value;
结束,res就是存储过程的返回值了

㈡ asp.net(c#)中如何使用存储过程请大家帮忙

public DataSet getDataByPage(int pageIndex)
{
DataSet ds = new DataSet();
String m_connectionString = ConfigurationSettings.AppSettings["connectionString"].Trim();
OleDbConnection conn = null;

String tablename = " mytable"; //表名
String orderName = "orderTime"; //排序的字段名

try
{
conn = new OleDbConnection(m_connectionString);
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "pagination";
cmd.CommandType = CommandType.StoredProcere;
cmd.Connection = conn;

cmd.Parameters.Add(new OleDbParameter("@tablename",OleDbType.VarChar));
cmd.Parameters["@tablename"].Value = tablename;
cmd.Parameters.Add(new OleDbParameter("@tableField",OleDbType.VarChar));
cmd.Parameters["@tableField"].Value = " * " ;
cmd.Parameters.Add(new OleDbParameter("@orderName",OleDbType.VarChar));
cmd.Parameters["@orderName"].Value = orderName;
cmd.Parameters.Add(new OleDbParameter("@pageSize",OleDbType.Integer));
cmd.Parameters["@pageSize"].Value = m_pageSize;
cmd.Parameters.Add(new OleDbParameter("@pageIndex",OleDbType.Integer));
cmd.Parameters["@pageIndex"].Value = pageIndex;
cmd.Parameters.Add(new OleDbParameter("@doCount",OleDbType.Integer));
cmd.Parameters["@doCount"].Value = 0;
cmd.Parameters.Add(new OleDbParameter("@orderType",OleDbType.Integer));
cmd.Parameters["@orderType"].Value = 1;

OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(ds,"music");
}
catch(Exception e)
{
System.Diagnostics.Trace.WriteLine(e.Message);
}
finally
{
conn.Close();
}
return ds;

}

//绑定数据到DateGrid

private void BindData(int pageIndex)
{

DataView dataview = new DataView(this.getDataByPage(pageIndex).Tables["newdata"]);
DataGrid1.DataSource = dataview;
DataGrid1.DataBind();
}
应该没有问题!

㈢ Asp.net(C#) 获取 执行sql server 语句/存储过程后的 多个返回值

如果返回标量值的话,例如文章的个数,可以使用储存过程的输出(OUTPUT)参数。在定义存储过过程时为参数指定OUTPUT关键字。C#调用存储过程时指定参数SqlParameter对象的Direction属性为Output。
如果是返回多个结果集的话,可以直接在存储过程中使用多个select查询就行。在C#代码中使用SqlDataReader对象的NextResult方法提取下一个结果集。

㈣ c# 处理存储过程output返回值的问题

因为ExecuteReader每次读取一行,没有和数据库断开连接,就像一个方法正在执行中,还没执行return呢。所以没值。
而ExecuteNonQuery是根据条件全查出来了放在你本地内存,就像一个方法执行完一样,所以return也执行了,也就有值。

返回值我一般写在添加等操作的存储过程里,查询没必要即查询结果还要在附带一个返回值。不如只查结果,返回值不就是通过一些计算得来的吗,完全可以在代码中计算出来。

比如我添加的存储过程是:
ALTER PROC [dbo].[sp_InsertModal]
@ModalName int
AS
INSERT tb_Modal(ModalName) values(@ModalName);
SELECT @@IDENTITY;
通过@@IDENTITY我能在添加一条数据后,直接拿到此数据的id数(自动增长的)。

像查询的都写成:
ALTER PROC [dbo].[sp_SelectLog]
@LogWork VARCHAR(50),
@StartTime DATETIME,
@EndTime DATETIME,
@UserId INT,
@ModalId INT
AS
SELECT LogId,LogWork,CreateTime,UserId,ModalId
FROM tb_Log tl
WHERE (@LogWork='' OR tl.LogWork=@LogWork)
AND (@StartTime <= tl.CreateTime AND @EndTime >= tl.CreateTime)
AND (@UserId = 0 OR tl.UserId = @UserId)
AND (@ModalId = 0 OR tl.ModalId = @ModalId)
楼主考虑一下,如果存储过程不好解决可以试着在代码中去处理。 因为存储过程也是类似于程序中的方法。在存储过程里面处理业务逻辑和方法里面是一样的。但你要考虑那个更适合你的程序。

㈤ C# 中接收 存储过程 的输出参数问题

就这一句错了:sqlCmd.Parameters.Add(new SqlParameter("@outResult", SqlDbType.VarChar));
应该改成:
sqlCmd.Parameters.Add(new SqlParameter("@outResult", SqlDbType.VarChar,30));
这里要定义VarChar的长度,我这里定为30,你再试下,就不会报错了,你其它的代码都是对的

㈥ Asp.net(C#) 获取 执行sql server 语句/存储过程后的 多个返回值

如果返回
标量
值的话,例如文章的个数,可以使用储存过程的输出(OUTPUT)参数。在定义存储过过程时为参数指定OUTPUT关键字。C#调用
存储过程
时指定参数
SqlParameter
对象的
Direction
属性为Output。
如果是返回多个
结果集
的话,可以直接在存储过程中使用多个select查询就行。在C#代码中使用SqlDataReader对象的NextResult方法提取下一个结果集。

㈦ C# 调用 存储过程中,参数 input output return 的含义.

input 是输入参数
output 是输出参数
return 是返回值,是存储过程中调用 RETURN 语句返回的值,调用此语句也就代表存储过程返回了,执行完毕

一般如果只需要存储过程返回一个值,那么使用RETURN就行了
如果需要多个值,那么就需要OUTPUT参数交互取值
也就是说OUTPUT和RETURN取得的效果是相同的

㈧ c# 执行存储过程,并且返回DataSet

DataSet ds=new Dataset();
DataAdapter da= new DataAdapter(conn,"Select 语句");
da.Fill(ds);

㈨ C#如何过得SqlServer存储过程的返回值

那要分情况了,如果是在Insert之后则需要返回他的ID值就直接用Select @@Identity

㈩ ASPNET怎样调用一个存储过程(带参数的)

ASPNET怎样调用一个存储过程(带参数的)使用的是Ado.NET中的相关的数据库操作方法。
Ado.NET连接数据库有以下几个步骤:
1:使用配置的数据库连接串,创建数据库连接 Connection 对象
2:构建操作的sql语句
3:定义command对象
4:打开数据连接
5:执行命令
举一个例子,删除操作
public int DeleteStudent3(int stuID)
{

int result = 0;

using (SqlConnection connection = new SqlConnection(connString))
{
SqlCommand objCommand = new SqlCommand(dboOwner + ".usp_DeleteStudent", connection);
objCommand.CommandType = CommandType.StoredProcere;

objCommand.Parameters.Add("@stuID", SqlDbType.Int).Value = stuID;

connection.Open();
result = objCommand.ExecuteNonQuery();
}
return result;
}

热点内容
阿里云数据库恢复 发布:2025-01-07 19:24:19 浏览:415
teradata数据库 发布:2025-01-07 19:23:31 浏览:853
我的世界电脑版无规矩生存服务器 发布:2025-01-07 19:21:07 浏览:611
phpcookie设置域 发布:2025-01-07 19:14:49 浏览:624
系统存储和内存设备 发布:2025-01-07 19:14:05 浏览:391
淘宝上卖源码 发布:2025-01-07 19:12:29 浏览:884
仿美团外卖小程序源码 发布:2025-01-07 19:03:51 浏览:346
数据库攻防 发布:2025-01-07 19:03:04 浏览:26
安卓打包生成apk文件在哪里 发布:2025-01-07 18:54:39 浏览:898
c语言的按位与 发布:2025-01-07 18:54:38 浏览:12