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)= ......
在使用NHibernate过程中经常会使用到复杂的sql查询,但是使用hql又比较麻烦的情况下,我们往往都会想到采用原始的sql来执行。但是如何利用NHibernate来执行sql呢?问题来了,在NHibernate中也有AdoTemplate的方法可以执行sql的,但是这里要介绍的是另外一种方法:CreateSQLQuery。以下部分例子源自于网络。
实例一(源自于 ......
1.数据的分布Skip()和take()
Skip(100)代表跳过100行后.从第101行开始分页;
take(10)表示多少行分页;
例:
var result=from pdt in db.Product
select pdt;
this.dataview.DataSource=result.Skip(10).take(10);
......