当前位置: 代码迷 >> ASP.NET >> 问储存过程解决思路
  详细解决方案

问储存过程解决思路

热度:586   发布时间:2013-02-25 00:00:00.0
问储存过程
我对储存过一点也不懂.在网上找了一天也没看懂
我在sql2005数据库中找到>可编程性>储存过程>然后添加了一个新过程. 但不知如何保存,只看到一个有.sql的文件.
在.net 不知如何用.请大家给我指点一下
下面是普通写法,如果用储存过是如何写,请给个完整的例子.简单的就行.
C# code
data.Open();sql = "select  * from a";SqlCommand comm = new SqlCommand(sql, data.con);SqlDataReader dr = data.Re_dr(comm); while (dr.Read()) { str =  dr["text"] ;}


------解决方案--------------------------------------------------------
SQL code
create proc SelectFromAasbeginselect * from aend
------解决方案--------------------------------------------------------
首先在sqlserver中创建存储过程
ex:
SQL code
create proc selectAllFromMBCasselect PC_Model_ID,BR.PC_Brand_Name,PC_Model_Name,PC_Color_Namefrom PC_Model as PC inner join PC_Brand as BR on PC.PC_Brand_ID=BR.PC_Brand_IDinner join PC_color as CO on PC.PC_Color_ID=CO.PC_Color_IDgo
------解决方案--------------------------------------------------------
if exists (select * from dbo.sysobjects where id= object_id(N'[dbo].select') and OBJECTPROPERTY(id,N'IsProcedure') = 1)
drop procedure [dbo].[select]

go
CREATE PROCEDURE select
(
@id varchar(10)
//这里写参数
)
 AS 
select * from a
GO

拿到数据库上执行一下就行了。在数据库的可编程性-》存储过程中可以查看到。
------解决方案--------------------------------------------------------
探讨
然后调用存储过程,不需指定:
comm.CommandType = CommandType.StoredProcedure; 

------解决方案--------------------------------------------------------
CREATE PROCEDURE proc_info
select * from a
 GO
 ///////////// 

 data.open();
SqlCommand cmd =new SqlCommand("proc_info",cc);//proc_info储存过程名
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader dr = data.Re_dr(cmd );
while (dr.Read())
 {
 str = dr["text"] ;
}



------解决方案--------------------------------------------------------
CREATE PROCEDURE proc_info
as
select * from a 
GO
------解决方案--------------------------------------------------------
存储过程就是SQL语句的集合
SQL code
CREATE PROCEDURE MyProc ASDelete From db Where a='1'Delete From db1 Where b='2'---这就是一个存储过程
------解决方案--------------------------------------------------------
打开企业管理器->找到Northwind数据库->选中存储过程项->右键菜单->新建存储过程.
到这一步会弹出一个让你写存储过程的界面.在里面输入如下代码:
SQL code
CREATE proc proc_Test(    @Total   int )asbeginif(@Total >0)    begin    select * from Employees    endelse    begin    select top 4 * from Employees    endendGO
------解决方案--------------------------------------------------------
探讨
爽,太感谢了.有效果了.
可是按一下f5执行后,我关掉这个页面.再打开就找不到它了

------解决方案--------------------------------------------------------
刷新一下试试
  相关解决方案