设为首页 加入收藏

TOP

C#VS2010连接数据库大全(七)
2014-11-24 03:31:05 来源: 作者: 【 】 浏览:5
Tags:C#VS2010 连接 数据库 大全

{
iConn.Open();

using (SqlCommand sqlCmd = BuildQueryCommand(iConn, storedProcName, parameters))
{
return sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
}

/**/
///


/// 执行存储过程
///

/// 存储过程名
/// 存储过程参数
/// DataSet结果中的表名
/// DataSet
public DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
{

using (System.Data.IDbConnection iConn = this.GetConnection())
{
DataSet dataSet = new DataSet();
iConn.Open();
System.Data.IDataAdapter iDA = this.GetAdapater();
iDA = this.GetAdapater(BuildQueryCommand(iConn, storedProcName, parameters));

((SqlDataAdapter)iDA).Fill(dataSet, tableName);
if (iConn.State != ConnectionState.Closed)
{
iConn.Close();
}
return dataSet;
}
}

/**/
///


/// 执行存储过程
///

/// 存储过程名
/// 存储过程参数
/// DataSet结果中的表名
/// 开始记录索引
/// 页面记录大小
/// DataSet
public DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, int startIndex, int pageSize, string tableName)
{

using (System.Data.IDbConnection iConn = this.GetConnection())
{
DataSet dataSet = new DataSet();
iConn.Open();
System.Data.IDataAdapter iDA = this.GetAdapater();
iDA = this.GetAdapater(BuildQueryCommand(iConn, storedProcName, parameters));

((SqlDataAdapter)iDA).Fill(dataSet, startIndex, pageSize, tableName);
if (iConn.State != ConnectionState.Closed)
{
iConn.Close();
}
return dataSet;
}
}

/**/
///


/// 执行存储过程 填充已经存在的DataSet数据集
///

/// 存储过程名称
/// 存储过程参数
/// 要填充的数据集
/// 要填充的表名
///
public DataSet RunProcedure(string storeProcName, IDataParameter[] parameters, DataSet dataSet, string tableName)
{
using (System.Data.IDbConnection iConn = this.GetConnection())
{
iConn.Open();
System.Data.IDataAdapter iDA = this.GetAdapater();
iDA = this.GetAdapater(BuildQueryCommand(iConn, storeProcName, parameters));

((SqlDataAdapter)iDA).Fill(dataSet, tableName);

if (iConn.State != ConnectionState.Closed)
{
iConn.Close();
}

return dataSet;
}
}

/**/
///


/// 执行存储过程并返回受影响的行数
///

///
///
///
public int RunProcedureNoQuery(string storedProcName, IDataParameter[] parameters)
{

int result = 0;
using (System.Data.IDbConnection iConn = this.GetConnection())
{
iConn.Open();
using (SqlCommand scmd = BuildQueryCommand(iConn, storedProcName, parameters))
{
result = scmd.ExecuteNonQuery();
}

if (iConn.State != ConnectionState.Closed)
{
iConn.Close();
}
}

return result;
}

public string RunProcedureExecuteScalar(string storeProcName, IDataParameter[] parameters)
{
string result = string.Empty;
using (System.Data.IDbConnection iConn = this.GetConnection())
{

iConn.Open();
using (SqlCommand scmd = BuildQueryCommand(iConn, storeProcName, parameters))
{
object obj = scmd.ExecuteScalar();
if (obj == null)
result = null;
else
result = obj.ToString();
}

if (iConn.State != ConnectionState.Closed)
{
iConn.Close();
}

}

return result;
}

/**/
///


/// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
///

/// 数据库连接
/// 存储过程名
/// 存储过程参数
/// SqlCommand
private SqlCommand BuildQueryCommand(IDbConnection iConn, string storedProcName, IDataParameter[] parameters)
{

IDbCommand iCmd = GetCommand(storedProcName, iConn);
iCmd.CommandType = CommandType.StoredProcedure;
if (parameters == null)
{
return (SqlCommand)iCmd;
}
foreach (IDataParameter parameter in parameters)
{
iCmd.Parameters.Add(parameter);
}
return (SqlCommand)iCmd;
}

/**/
///


/// 执行存储过程,返回影响的行数
///

/// 存储过程名
/// 存储过程参数
/// 影响的行数
///
public int RunProcedure(strin
首页 上一页 4 5 6 7 下一页 尾页 7/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇jsp连接数据库大全 下一篇Vertica用于时间计算的SQL语句大全

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·数据库:推荐几款 Re (2025-12-25 12:17:11)
·如何最简单、通俗地 (2025-12-25 12:17:09)
·什么是Redis?为什么 (2025-12-25 12:17:06)
·对于一个想入坑Linux (2025-12-25 11:49:07)
·Linux 怎么读? (2025-12-25 11:49:04)