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的值
相关文档:
--作用:数据库中的表备份成文本
Declare @tabname varchar(200),@ip varchar(50),@user varchar(50),@password varchar(50),@sql varchar(1000),@filetxt varchar(200),@file varchar(50)
set @tabname='database.dbo.tb' --表名
set @ip='127.0.0.1' --IP地址,本机的话就写127.0.0.1
set @user='sa' ......
SqlDataSourceEnumerator instance =SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
或
System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();
返回Datatable
此table包含以下四个字段
Console.WriteLine("服务器名 = {0}", r ......
优点:字段较少,有增删改查功能,不过查询太笼统。
缺点:
1.不算是在很正的无限分类,ClassPath这个字段定义限制。
2.主键CLASSID不是自增的,使用CODESMITH批量生成多层架构代码中会导致出错。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ArticleClass]') and OBJECTPROPERTY(id, N'IsUse ......
在使用NHibernate过程中经常会使用到复杂的sql查询,但是使用hql又比较麻烦的情况下,我们往往都会想到采用原始的sql来执行。但是如何利用NHibernate来执行sql呢?问题来了,在NHibernate中也有AdoTemplate的方法可以执行sql的,但是这里要介绍的是另外一种方法:CreateSQLQuery。以下部分例子源自于网络。
实例一(源自于 ......
在SQLSERVER,简单的组合sp_spaceused和sp_MSforeachtable这两个存储过程,可以方便的统计出用户数据表的大小,包括记录总数和空间占用情况,非常实用,在SqlServer2K和SqlServer2005中都测试通过。
/*
1. exec sp_spaceused '表名' (SQL统计数据,大量事务操作后可 ......