- 浏览: 1619481 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
本文从多个角度阐述了SQL Server与存储过程的比较。
①为什么要使用存储过程?
因为它比SQL语句执行快。
②存储过程是什么?
把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句。
③来一个最简单的存储过程:
CREATE PROCEDURE dbo.testProcedure_AX
AS
select userID from
USERS order by userid desc
注:dbo.testProcedure_AX是你创建的存储过程名,可以改为:AXzhz等,别跟关键字冲突就行了.AS下面就是一条SQL语句,不会写SQL语句的请回避。
④怎么在ASP.NET中调用这个存储过程:
public static string GetCustomerCName
(ref ArrayList arrayCName,ref ArrayList arrayID)
{
SqlConnection con=ADConnection.createConnection();
SqlCommand cmd=new SqlCommand("testProcedure_AX",con);
cmd.CommandType=CommandType.StoredProcedure;
con.Open();
try
{
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
if(dr[0].ToString()=="")
{
arrayCName.Add(dr[1].ToString());
}
}
con.Close();
return "OK!";
}
catch(Exception ex)
{
con.Close();
return ex.ToString();
}
}
注:其实就是把以前:
SqlCommand cmd=new SqlCommand("select
userID from USERS order by userid desc",con);
中的SQL语句替换为存储过程名,再把cmd的类型标注为CommandType.StoredProcedure(存储过程)。
⑤写个带参数的存储过程:
CREATE PROCEDURE dbo.AXzhz
/*
这里写注释
*/
@startDate varchar(16),
@endDate varchar(16)
AS
select id from table_AX where commentDateTime>
@startDate and commentDateTime<@endDate order
by contentownerid DESC
注:@startDate varchar(16)是声明@startDate 这个变量,多个变量名间用【,】隔开.后面的SQL就可以使用这个变量了。
⑥我怎么在ASP.NET中调用这个带参数的存储过程:
public static string GetCustomerCNameCount
(string startDate,string endDate,ref DataSet ds)
{
SqlConnection con=ADConnection.createConnection();
//-----------------------注意这一段-------------------
--------------------------------------------------------
-----------------------------
SqlDataAdapter da=new SqlDataAdapter("AXzhz",con);
para0=new SqlParameter("@startDate",startDate);
para1=new SqlParameter("@endDate",endDate);
da.SelectCommand.Parameters.Add(para0);
da.SelectCommand.Parameters.Add(para1);
da.SelectCommand.CommandType=CommandType.StoredProcedure;
//-------------------------------------------------------------
------------------------------------------------------------------
try
{
con.Open();
da.Fill(ds);
con.Close();
return "OK";
}
catch(Exception ex)
{
return ex.ToString();
}
}
注:把命令的参数添加进去,就可以了。
⑦重新验证SQL命令执行是否成功。
CREATE PROCEDURE dbo.AXzhz
/*
@parameter1 用户名
@parameter2 新密码
*/
@password nvarchar(20),
@userName nvarchar(20)
AS
declare @err0 int
update WL_user set password=@password where UserName=@userName
set @err0=@@error
select @err0 as err0
注:先声明一个整型变量@err0,再给其赋值为@@error(这个是系统自动给出的语句是否执行成功,0为成功,其它为失败),最后通过select把它选择出来。
⑧那怎么从后台获得这个执行成功与否的值:
下面这段代码可以告诉你答案:
public static string GetCustomerCName()
{
SqlConnection con=ADConnection.createConnection();
SqlCommand cmd=new SqlCommand("AXzhz",con);
cmd.CommandType=CommandType.StoredProcedure;
para0=new SqlParameter("@startDate","2006-9-10");
para1=new SqlParameter("@endDate","2006-9-20");
da.SelectCommand.Parameters.Add(para0);
da.SelectCommand.Parameters.Add(para1);
con.Open();
try
{
Int32 re=(int32)cmd.ExecuteScalar();
con.Close();
if (re==0)
return "OK!";
else
return "false";
}
catch(Exception ex)
{
con.Close();
return ex.ToString();
}
}
注:就是通过SqlCommand的ExecuteScalar()方法取回这个值。
⑨我要根据传入的参数判断执行哪条SQL语句:
ALTER PROCEDURE dbo.selectCustomerCNameCount
@customerID int
AS
if @customerID=-1
begin
select contentownerid ,userCName,count(*)
as countAll from view_usercomment group by
contentownerid,userCName order by contentownerid DESC
end
else
begin
select contentownerid ,userCName,count(*)
as countAll from view_usercomment where
contentownerid=@customerID group by contentownerid
,userCName order by contentownerid DESC
end
发表评论
-
MSSQ客户端连接服务器端的注意事项
2010-05-06 14:00 13171、MSSQL2008能连接MSSQL2000、MSSQL20 ... -
SQL Server中,varchar和nvarchar如何选择
2010-02-03 15:29 1756引用 varchar(n) 长度为 n ... -
SQL分页语句
2009-12-28 16:38 1208有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。 ... -
同一字段根据不同条件更新的sql语句的写法
2009-12-22 11:34 4081update test set 字段1=case wh ... -
安装SQL2000时出现 ntvdm遇到一个硬错误的处理办法
2009-12-21 09:04 3132不要去运行AUTORUN.EXE 运行这个就会提示:“NTVD ... -
decimal和float类型的区别
2009-12-19 11:11 2477decimal 类型可以精确地表示非常大或非常精确的小数。大至 ... -
如何控制数据库中的用户,只能看到某个库?
2009-11-25 20:55 1260可以通过设置该帐户的用户映射。注意:虽然在客户端可以看到服务器 ... -
MS SQL Server 数据库命名规范
2009-11-17 15:30 1863设计原则 符号三大范式(每一列表达一个意思,每一行代表一个实 ... -
sql 根据某一字段查询不重复记录,同时要查询出所有满足条件的字段信息
2009-10-15 18:09 2469引用 比如有一张表A:有字段ID,Name,Time,Pass ... -
查看mssql的版本信息SQL语句
2009-10-08 11:42 1394SELECT SERVERPROPERTY('produ ... -
聚集索引和非聚集索引的区别
2009-09-06 16:38 1909聚集索引和非聚集索引的区别 收藏 聚集索引和非聚集索引的 ... -
修改了操作系统管理员的密码,数据库会连不上,应该怎么解决
2009-08-24 18:03 1230一台安装了Windows 2000 操作系统和SQL Serv ... -
分页SQL语句
2009-07-16 09:44 1279一、 select top 每页显示的记录数 * from ... -
Sql server中的Text数据类型
2009-04-23 11:37 4091在什么情况下应用这个类型 引用 超过 8KB 的ASC ... -
UNION 和UNION ALL 的区别
2009-04-22 14:42 1202在数据库中,UNION和UNION ALL关键字都是将两个结果 ... -
第一次写动态SQL的得到的经验
2009-04-21 16:29 1662前言 引用 用动态SQL写存储过程的原因,项目中有个存储过程必 ... -
SQL事务回滚的问题及其解决的方法
2009-04-20 11:42 8157Begin Transaction:开始一个事务; Commi ... -
sql server 存储过程
2009-04-18 14:11 1341CREATE PROCEDURE testPro AS ... -
修改数据库的文件名和逻辑名
2009-03-03 09:18 37321、修改数据库的逻辑名,可以在sql server的客户端操作 ... -
SQL存储过程概述
2009-02-16 15:11 1441SQL存储过程概述 在 大型数据库系统中,存储过程和触发器具 ...
相关推荐
本文从多个角度阐述了SQL Server与存储过程的比较。
可对SqlServer的两个数据库表结构等进行详细的比较,十分方便,小巧 SQL语句编写助手SQLAssistant: 对主流数据库Sql Server,Oracle,DB2,MySql,Access等都可用,写脚本或存储过程时提示功能十分强大,十分方便,...
本人新测,环境为WINDOWS2008 R2 64,SQLSERVER 2008R2,输出DDL,可以方便查看不同之处,当然索引,存储过程等也可以的。
介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...
7.2.4 使用SQL Server的系统存储过程处理分页 216 7.3 特殊要求的分页处理 217 7.3.1 随机显示的分页处理 217 7.3.2 分类数据的分页处理 221 第 8 章 树形数据处理 223 8.1 单编号处理法 223 ...
Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋...
Oracle和SqlServer系统表操作差异对比.docx SQL_Server2005索引碎片分析和解决方法.doc SQLSERVER存储过程大总结.doc SQL中各种索引.docx 看懂SqlServer查询计划 .docx 经典SQL语句大全.doc
SQL Server Profiler 是图形化实时监视工具,能帮助系统管理员监视数据库和服务器的行为, 比如死锁的数量,致命的错误,跟踪Transact-SQL 语句和存储过程。可以把这些监视数据存入表或文件中,并在以后某一时间重新...
Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋...
SqlDbx 是简单易用的数据库设备,... 可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等。
从存储过程 自定义函数格式 游标 变量 赋值 语句结束符 大小写 Select 语法 Update语法 Delete语法 动态SQL语句 TOP用法 等各方面对比两个数据库的差异
SqlDbx 是简单易用的数据库设备,SQL... 可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等
7.2.4 使用SQL Server的系统存储过程处理分页 216 7.3 特殊要求的分页处理 217 7.3.1 随机显示的分页处理 217 7.3.2 分类数据的分页处理 221 第 8 章 树形数据处理 223 8.1 单编号处理法 223 8.1.1 ...
Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋...
Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋...
Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋...
Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋...
│ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整tempdb数据库的文件属性.sql │ ├─第02章 │ │ 2.1 日期概念理解中的一些测试.sql │ │ ...
调用存储过程实现数据库操作使很多程序员使用的方法,而且大多数的程序员都是能使用存储过程就使用存储过程,很少直接使用SQL语句,所以存储过程是很有用而且很重要的。 存储过程简介 简单的说,存储过程是由一些SQL...
可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等。 同时支持打开多个数据库连接。