为什么 protected SqlDataReader RunProcedure(..)这段还要写Command.CommandType=CommandType.StoredProcedure;

hiweiyi2000 hiweiyi2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
using System;
using System.Data;
using System.Data.SqlClient;


namespace Wrox.WebModules.Data
{
/// <summary>
/// DbObject 的摘要说明。
/// </summary>
public abstract class DbObject
{
protected SqlConnection Connection;
private string connectionString;

public DbObject(string newConnectionString)
{
connectionString=newConnectionString;
Connection=new SqlConnection(connectionString);

//
// TODO: 在此处添加构造函数逻辑
//
}
protected string ConnectionString
{
get
{
return connectionString;
}
}
private SqlCommand BuildQueryCommand(string storedProcName,IDataParameter[] parameters)
{
SqlCommand command=new SqlCommand(storedProcName,Connection);
command.CommandType=CommandType.StoredProcedure;
foreach(SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
return command;
}
private SqlCommand BuildIntCommand(string storedProcName,IDataParameter[] parameters)
{
SqlCommand command=BuildQueryCommand(storedProcName,parameters);
command.Parameters.Add(new SqlParameter("ReturnValue",SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));
return command;
}
protected int RunProcedure(string storedProcName,IDataParameter[] parameters,out int rowsAffected)
{
int result;
Connection.Open();
SqlCommand command=BuildIntCommand(storedProcName,parameters);
rowsAffected=command.ExecuteNonQuery();
result=(int)command.Parameters["ReturnValue"].Value;
Connection.Close();

return result;
}
protected SqlDataReader RunProcedure(string storedProcName,IDataParameter[] parameters)
{
SqlDataReader returnReader;
Connection.Open();
SqlCommand command=BuildQueryCommand(storedProcName,parameters);
command.CommandType=CommandType.StoredProcedure;
returnReader=command.ExecuteReader(CommandBehavior.CloseConnection);
return returnReader;
}
protected DataSet RunProcedure(string storedProcName,IDataParameter[] parameters,string tableName)
{
DataSet dataSet=new DataSet();
Connection.Open();
SqlDataAdapter sqlDA=new SqlDataAdapter();
sqlDA.SelectCommand=BuildQueryCommand(storedProcName,parameters);
sqlDA.Fill(dataSet,tableName);
Connection.Close();
return dataSet;
}
protected void RunProcedure(string storedProcName,IDataParameter[] parameters,DataSet dataSet,string tableName)
{
Connection.Open();
SqlDataAdapter sqlDA=new SqlDataAdapter();
sqlDA.SelectCommand=BuildIntCommand(storedProcName,parameters);
sqlDA.Fill(dataSet,tableName);
Connection.Close();
}


}
}
...全文

相关推荐

【微信小程序毕业设计】微信点餐系统源码(java+小程序+mysql).zip

项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

风月歌

【微信小程序毕业设计】微信小程序的点餐系统源码(java+小程序+mysql).zip

项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

风月歌

基于java+springboot+mysql+微信小程序的微信点餐系统 源码+数据库(高分毕业设计).zip

项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea、微信开发者工具 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat

程序员佳倩

【微信小程序毕业设计】食堂窗口自助点餐系统源码(java+小程序+mysql).zip

项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

风月歌

【微信小程序毕业设计】食堂线上预约点餐系统源码(java+小程序+mysql+LW).zip

实现了首页、个人中心、学生管理、菜品分类管理、菜品管理、关于我们管理、意见反馈、系统管理、订单管理等。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

风月歌
评论 10
收藏 已收藏
分享
返回顶部
hiweiyi2000
.NET社区 62,272 成员 668,968 内容