C#调用SQL存储过程以及返回值和参数的获取
QZone Editor
.dump{}
//TODO 域名
if (location.hash) {
document.domain=location.hash.substr(1);
}
//parent.qZEditor.callback();
function init(){
//获取编辑器面板ID
var pid = frameElement.panelID;
//获取编辑器面板对象
var panel = parent.QZFL.editor.editPanel.get(pid);
panel["html"]._enableEditMode();
}
在sql2005中,存储过程功能非常强大,如何在C#中调用呢,下面就以示例说明:
首先在数据库中创建存储过程XSPTest
CREATE PROCEDURE dbo.XSPTest
@In As nvarchar(16),
@Out As int OUTPUT
As
-- deal with @In
Set @Out = 1;
Select 2 As SValue;
RETURN 0;
上面的存储过程需要一个输入参数,一个输出参数,返回一个值,并且select一个。下面就分别说明一下:
SqlCommand cmdCommit = new
SqlCommand("XSPTest", myConnect)
cmdCommit.CommandType =
CommandType.StoredProcedure; // 说明调用一个存储过程
cmdCommit.Parameters.Add(new SqlParameter@In", SqlDbType.NVarChar,
16));
cmdCommit.Parameters.Add(new SqlParameter("@Out ",
int));
cmdCommit.Parameters.Add(new SqlParameter("RValue",
SqlDbType.Int));
cmdCommit.Parameters[0].Value =
"MyTest"; // 传入的值
cmdCommit.Parameters[1].Direction =
ParameterDirection.Output; // 说明是输出参数
cmdCommit.Parameters[2].Direction = ParameterDirection.ReturnValue; //
获取return的值
相关文档:
在开发不论是WEB还是Winform程序中,数据分页是经常遇到的问题,要是在代码中实现此过程,显然降低了服务器的效率,可以使用以下存储过程来实现。
CREATE PROCEDURE pagination
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) = '*', -- 需要返回的列
@fldName varchar(255)= ......
优点:字段较少,有增删改查功能,不过查询太笼统。
缺点:
1.不算是在很正的无限分类,ClassPath这个字段定义限制。
2.主键CLASSID不是自增的,使用CODESMITH批量生成多层架构代码中会导致出错。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ArticleClass]') and OBJECTPROPERTY(id, N'IsUse ......
在SQLSERVER,简单的组合sp_spaceused和sp_MSforeachtable这两个存储过程,可以方便的统计出用户数据表的大小,包括记录总数和空间占用情况,非常实用,在SqlServer2K和SqlServer2005中都测试通过。
/*
1. exec sp_spaceused '表名' (SQL统计数据,大量事务操作后可 ......
掌握SQL四条最基本的数据操作语句:Insert,Select,Update和Delete。
练掌握SQL是数据库用户的宝贵财 富。在本文中,我们将引导你掌握四条最基本的数据操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。当你完成这些学习后,显然你已经开始算是精通SQL了。
在我们开始之前,先 ......