CREATE PROCEDURE dbo.Cup_Work_GetCaseCount
(
@BeginTime [datetime],
@EndTime [datetime] ,
@CaseCount1 [int] output
)
AS
select @CaseCount1=count(distinct obj_caseid) from C_Work_Object where Obj_casetype='爆炸' and Obj_domethod='刑拘' and Obj_dotime between @BeginTime and @EndTime
GO
//以上为存储过程//以下是提供输入参数的方法 public void GetCaseCount(DateTime timeStart,DateTime timeEnd)
{
SqlParameter[] parameters =
{
new SqlParameter("@BeginTime",SqlDbType.DateTime,8),
new SqlParameter("@EndTime",SqlDbType.DateTime,8)
};
parameters[0].Value=timeStart;
parameters[1].Value = timeEnd; DataSet ds = this.dbProcessor.RunProcedure("Cup_Work_GetCaseCount", parameters, "GetCaseCountInfo");
DataTable dt = ds.Tables["GetCaseCountInfo"]; }
//页面
<tr>
<td>合计</td>
<td><%=> </td>
</tr>我想在里面调用在存储过程里的输出参数@CaseCount1,请教该怎么做啊?哪位大狭指教一下啊??
(
@BeginTime [datetime],
@EndTime [datetime] ,
@CaseCount1 [int] output
)
AS
select @CaseCount1=count(distinct obj_caseid) from C_Work_Object where Obj_casetype='爆炸' and Obj_domethod='刑拘' and Obj_dotime between @BeginTime and @EndTime
GO
//以上为存储过程//以下是提供输入参数的方法 public void GetCaseCount(DateTime timeStart,DateTime timeEnd)
{
SqlParameter[] parameters =
{
new SqlParameter("@BeginTime",SqlDbType.DateTime,8),
new SqlParameter("@EndTime",SqlDbType.DateTime,8)
};
parameters[0].Value=timeStart;
parameters[1].Value = timeEnd; DataSet ds = this.dbProcessor.RunProcedure("Cup_Work_GetCaseCount", parameters, "GetCaseCountInfo");
DataTable dt = ds.Tables["GetCaseCountInfo"]; }
//页面
<tr>
<td>合计</td>
<td><%=> </td>
</tr>我想在里面调用在存储过程里的输出参数@CaseCount1,请教该怎么做啊?哪位大狭指教一下啊??
解决方案 »
- |ZTCWPF| RichTextBox可以用FontWeightProperty取得粗体,FontStyleProperty取得斜体,那下划线是哪个属性 谢谢
- C#怎么对SQL里的某个表的某个字段值设置为NULL ,内详
- 串口通讯中的定时保存串口数据问题?我用的是serialport类.
- 如何在程序中加入声音?并非加入音乐播放器的方法
- C#中如何取得鼠标,所在的窗口的句柄???
- 关于paint.net 编译问题
- 补分
- c#里将一个LIST<T>的强类型转成XML文件
- 同步和异步的概念!(有星的同志,看看您能不能解释)
- 代码,请给我代码。一个在线升级的功能?
- Environment 类问题
- web service问题
paramOut.Direction = ParameterDirection.ReturnValue;conn.open();
cmd.ExecuteNonQuery();
int i = (int)cmd.Parameters["@Return_Value"].value;
2if exists(select * from sysobjects where name='proc_userinfo')--判断是否存在存储过程
3drop proc proc_userinfo --若存在删除此存储过程
4go
5--创建存储过程
6create proc proc_userinfo
7@username varchar(50),--输入参数
8@pwd varchar(50),--输入参数
9@grade varchar(20),--输入参数
10@count int output --输出参数output不能少
11--sql语句
12as
13select @count=count(*) from userinfo where username=@username and pwd=@pwd and @grade=grade
14go
15
16
17执行存储过程
18declare @n int
19exec proc_userinfo admin,123,管理员,@n output
20--output不能少
21print @n
22go 数据访问层代码 Code1//调用存储过程执行类似于
2//select count(*) from userinfo where username=username and pwd=pwd and grade=grade
3//接受三个参数分别用来表示用户名、用户密码、用户权限
4public bool GetUserinfo(string username,string pwd,string grade)
5 {
6 //获取连接字符串
7 private string connstring = ConfigurationManager.ConnectionStrings["connstring"].ToString();
8 int n = 0;//查询后返回的行数保存存储过程中的输出参数
9 //创建连接对象 using代码片段好处在于离开作用域后立刻从内存中释放对象
10 using (SqlConnection con=new SqlConnection(connstring))
11 {
12 con.Open();//打开数据库连接
13 using (SqlCommand cmd=new SqlCommand("proc_userinfo",con))
14 {
15 //什么作用不记得了只记得调用存储过程该语句不能少
16 cmd.CommandType = CommandType.StoredProcedure;
17 //添加存储过程输入输出参数类型及输入参数值
18 cmd.Parameters.Add("@username", SqlDbType.VarChar, 50).Value=username;
19 cmd.Parameters.Add("@pwd", SqlDbType.VarChar, 50).Value=pwd;
20 cmd.Parameters.Add("@grade", SqlDbType.VarChar, 50).Value=grade;
21 cmd.Parameters.Add("@count", SqlDbType.Int);
22 cmd.Parameters["@username"].DbType = DbType.String;
23 //指定参数类型是输入参数还是输出参数
24 cmd.Parameters["@username"].Direction = ParameterDirection.Input;
25 cmd.Parameters["@pwd"].DbType = DbType.String;
26 //指定参数类型是输入参数还是输出参数
27 cmd.Parameters["@pwd"].Direction = ParameterDirection.Input;
28 cmd.Parameters["@grade"].DbType = DbType.String;
29 //指定参数类型是输入参数还是输出参数
30 cmd.Parameters["@grade"].Direction = ParameterDirection.Input;
31 cmd.Parameters["@count"].DbType = DbType.Int32;
32 //指定参数类型是输入参数还是输出参数
33 cmd.Parameters["@count"].Direction = ParameterDirection.Output;
34 //执行存储过程 此处类似于查询语句
35 cmd.ExecuteScalar();
36 //接受执行存储过程后的返回值
37 n = (int)cmd.Parameters["@count"].Value;
38 //根据返回值判断数据库中是否存在对应用户名密码及用户权限的记录
39 if (n==1)
40 {
41 return true;
42 }
43 else
44 {
45 return false;
46 }
47 }
48 }
49 }1//用dataGradeView.DataSource dataGradeView的数据源创建一个DataTable 对象 需要强转成DataTable
2
3 DataTable dt=(DataTable )dataGradeView.DataSource;
4 //dataGradeView为具体的dataGradeView
5
6 dt.Rows.Clean(); //删除表中的行
7
8 dataGradeView.DataSource=dt;
9//再把dt绑定到dataGradeView上即可
10
{
SqlParameter[] parameters =
{
new SqlParameter("@BeginTime",SqlDbType.DateTime,8),
new SqlParameter("@EndTime",SqlDbType.DateTime,8)
new SqlParameter("@CaseCount1",SqlDbType.Int);
};
parameters[0].Value=timeStart;
parameters[1].Value = timeEnd;
parameters[2].Direction = ParameterDirection.Output; DataCommand excuteNonquery之后取得 num = (int) command.Parameters[3].Value;
这个在你的函数dbProcessor.RunProcedure 里改。num 就是返回的数量 }
http://www.cnblogs.com/heimirror/archive/2008/06/03/1212765.html
http://www.cnblogs.com/pengpeng614/archive/2008/08/29/1279720.html
//以下是提供输入参数的方法 public void GetCaseCount(DateTime timeStart,DateTime timeEnd)
{
SqlParameter[] parameters =
{
new SqlParameter("@BeginTime",SqlDbType.DateTime,8),
new SqlParameter("@EndTime",SqlDbType.DateTime,8) ,
new SqlParameter("@CaseCount1 ",SqlDbType.Int)
};
parameters["BeginTime"].Value=timeStart;
parameters["EndTime"].Value = timeEnd;
parameters["@CaseCount1 "].Direction = System.Data.ParameterDirection.Output; DataSet ds = this.dbProcessor.RunProcedure("Cup_Work_GetCaseCount", parameters, "GetCaseCountInfo");
DataTable dt = ds.Tables["GetCaseCountInfo"];
int I= Parameters["@Message"].Value.ToString(); }
//以下是提供输入参数的方法 public void GetCaseCount(DateTime timeStart,DateTime timeEnd)
{
SqlParameter[] parameters =
{
new SqlParameter("@BeginTime",SqlDbType.DateTime,8),
new SqlParameter("@EndTime",SqlDbType.DateTime,8) ,
new SqlParameter("@CaseCount1 ",SqlDbType.Int)
};
parameters["BeginTime"].Value=timeStart;
parameters["EndTime"].Value = timeEnd;
parameters["@CaseCount1 "].Direction = System.Data.ParameterDirection.Output; DataSet ds = this.dbProcessor.RunProcedure("Cup_Work_GetCaseCount", parameters, "GetCaseCountInfo");
DataTable dt = ds.Tables["GetCaseCountInfo"];
int I= Parameters["@Message"].Value.ToString(); }