c# 用存储过程

转载 2012年03月30日 10:49:38

⑤写个带参数的C#存储过程吧,上面这个简单得有点惨不忍睹,不过还是蛮实用的.

  1. CREATE PROCEDURE dbo.AXzhz
  2. /*
  3. 这里写注释
  4. */
  5. @startDate varchar(16),
  6. @endDate varchar(16)
  7. AS
  8. select id from table_AX where commentDateTime>@startDate and commentDateTime< @endDate order by contentownerid DESC

注:@startDate varchar(16)是声明@startDate 这个变量,多个变量名间用【,】隔开.后面的SQL就可以使用这个变量了.

⑥我怎么在ASP.Net中调用这个带参数的存储过程?

  1. public static string GetCustomerCNameCount(string startDate,string endDate,ref DataSet ds)
  2. {
  3. SqlConnection con=ADConnection.createConnection();
  4. //-----------------------注意这一段--------------------------------------------------------------------------------------------------------
  5. SqlDataAdapter da=new SqlDataAdapter("AXzhz",con);
  6. para0=new SqlParameter("@startDate",startDate);
  7. para1=new SqlParameter("@endDate",endDate);
  8. da.SelectCommand.Parameters.Add(para0);
  9. da.SelectCommand.Parameters.Add(para1);
  10. da.SelectCommand.CommandType=CommandType.StoredProcedure;
  11. //-------------------------------------------------------------------------------------------------------------------------------
  12. try
  13. {
  14. con.Open();
  15. da.Fill(ds);
  16. con.Close();
  17. return "OK";
  18. }
  19. catch(Exception ex)
  20. {
  21. return ex.ToString();
  22. }
  23. }

注:把命令的参数添加进去,就OK了

⑦我还想看看SQL命令执行成功了没有.

  1. CREATE PROCEDURE dbo.AXzhz
  2. /*
  3. @parameter1 用户名
  4. @parameter2 新密码
  5. */
  6. @password nvarchar(20),
  7. @userName nvarchar(20)
  8. AS
  9. declare @err0 int
  10. update WL_user set password=@password where UserName=@userName
  11. set @err0=@@error
  12. select @err0 as err0

注:先声明一个整型变量@err0,再给其赋值为@@error(这个是系统自动给出的语句是否执行成功,0为成功,其它为失败),最后通过select把它选择出来,某位高人说可以通过Return返回,超出本人的认知范围,俺暂时不会,以后再补充吧

⑧那怎么从后台获得这个执行成功与否的值呢?

下面这段代码可以告诉你答案:

  1. public static string GetCustomerCName()
  2. {
  3. SqlConnection con=ADConnection.createConnection();
  4. SqlCommand cmd=new SqlCommand("AXzhz",con);
  5. cmd.CommandType=CommandType.StoredProcedure;
  6. para0=new SqlParameter("@startDate","2006-9-10");
  7. para1=new SqlParameter("@endDate","2006-9-20");
  8. da.SelectCommand.Parameters.Add(para0);
  9. da.SelectCommand.Parameters.Add(para1);
  10. con.Open();
  11. try
  12. {
  13. Int32 re=(int32)cmd.ExecuteScalar();
  14. con.Close();
  15. if (re==0)
  16. return "OK!";
  17. else
  18. return "false";
  19. }
  20. catch(Exception ex)
  21. {
  22. con.Close();
  23. return ex.ToString();
  24. }
  25. }

注:就是通过SqlCommand的ExecuteScalar()方法取回这个值,这句话是从MSDN上找的,俺认为改成:

int re=(int)cmd.ExecuteScalar();   99%正确,现在没时间验证,期待您的测试!!!

⑨我要根据传入的参数判断执行哪条SQL语句!!~

下面这个存储过程可以满足我们的要求,竟然是Pascal/VB的写法,Begin----End ,不是{},,,对使用C#的我来说,这个语法有点恶心.........

  1. ALTER PROCEDURE dbo.selectCustomerCNameCount
  2. @customerID int
  3. AS
  4. if @customerID=-1
  5. begin
  6. select contentownerid ,userCName,count(*) as countAll from view_usercomment group by contentownerid,userCName order by contentownerid DESC
  7. end
  8. else
  9. begin
  10. select contentownerid ,userCName,count(*) as countAll from view_usercomment where contentownerid=@customerID group by contentownerid,userCName order by contentownerid DESC
  11. end

C#调用mysql查询存储过程

废话不多说,最近做了一个mysql的查询的存储过程,现在主要给大家看的是dao部分和存储过程的生成和使用,其他部分不太重要。 首先先看表,主要有两张表,一张是订单表,一张是车票表,两者是一对多的关系,...
  • Uncle_Jeffery
  • Uncle_Jeffery
  • 2015年10月22日 22:11
  • 2278

C++通过ADO调用存储过程

很久以前就在网上找了一些关于用C++调用数据库存储过程的文章,并用到了自己的项目中。网上的文章都是要定义_CommandPtr和_ParameterPtr类型的智能指针对象,然后用pCmd->Excu...
  • yeosn
  • yeosn
  • 2013年10月21日 10:35
  • 1671

C语言调用mysql的存储过程

有一张sc表,保存学生选课记录,有课程号,学号,平时分,卷面分,总分,建立过程如下 create class( cno varchar(8) not null, sno varchar(8) n...
  • u010193457
  • u010193457
  • 2015年07月21日 15:39
  • 2107

c# 分页和存储过程分页、饼图统计、打印+生成条码、导出实用例子(可以拿来直接用很实用哦)

  • 2018年01月12日 22:36
  • 6.78MB
  • 下载

C# WinForm 分页控件以及Demo演示(存储过程,有脚本)超级简单的,你值得拥有

  • 2017年07月11日 10:47
  • 102KB
  • 下载

C#语句的存储过程

  • 2013年06月09日 09:24
  • 1KB
  • 下载

C# 用存储过程处理批量数据

  • 2015年07月15日 14:28
  • 16KB
  • 下载

C# 存储过程实现分页

  • 2017年04月18日 11:40
  • 2.05MB
  • 下载

关于用c#在ASP.NET中对于存储过程的增删查改的例子的应用

  • 2010年05月24日 22:43
  • 32KB
  • 下载

SQL存储过程与C#的结合

  • 2010年05月17日 20:16
  • 910B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# 用存储过程
举报原因:
原因补充:

(最多只允许输入30个字)