当前位置:编程学习 > C#/ASP.NET >>

怎么调用存储过程?

存储过程里面有参数@UserName,@Usersex,
页面上有文本框UserName,单选集合sex,
怎么调用存储过程将文本框和集合的值存到数据库, --------------------编程问答-------------------- 提问前请百度 --------------------编程问答-------------------- 搜索一下,有很多的。 --------------------编程问答--------------------

sqlparameter[] paras={
                      new sqlparameter("@UserName",name),
                      new sqlparameter("@Usersex",sex)
                      }
--------------------编程问答--------------------
CREATE PROC getdetail
(
@id int,
@title varchar(50) OUTPUT
)
AS
SET NOCOUNT ON
DECLARE @newscount int
SELECT @title=mynews.title,@newscount=COUNT(mynews.id)
FROM mynews
WHERE (id=@id)
GROUP BY mynews.title
RETURN @newscount

string str = "server='(local)';database='mytable';uid='sa';pwd='Sa'";
SqlConnection con = new SqlConnection(str);
con.Open(); //打开连接
SqlCommand cmd = new SqlCommand("getdetail", con); //使用存储过程
cmd.CommandType = CommandType.StoredProcedure; //设置Command 对象的
类型
SqlParameter spr; //表示执行一个存储过程
spr = cmd.Parameters.Add("@id", SqlDbType.Int); //增加参数id
spr = cmd.Parameters.Add("@title", SqlDbType.NChar,50); //增加参数title
spr.Direction = ParameterDirection.Output; //该参数是输出参数
spr = cmd.Parameters.Add("@count", SqlDbType.Int); //增加count 参数
spr.Direction = ParameterDirection.ReturnValue; //该参数是返回值
cmd.Parameters["@id"].Value = 1; //为参数初始化
cmd.Parameters["@title"].Value = null; //为参数初始化
cmd.ExecuteNonQuery(); //执行存储过程
Label1.Text = cmd.Parameters["@count"].Value.ToString(); //获取返回值
--------------------编程问答-------------------- 在SQL Studio中调试。。和CS调试一样 --------------------编程问答-------------------- exec proc --------------------编程问答--------------------
引用 4 楼 liangchengfck1 的回复:
SQL code?12345678910111213CREATE PROC getdetail(@id int,@title varchar(50) OUTPUT)ASSET NOCOUNT ONDECLARE @newscount intSELECT @title=mynews.title,@newscount=COUNT(mynews.id)FROM mynewsWH……

++
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,