存储过程大全登录增删改查连接调用.docx
- 文档编号:3731824
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:27
- 大小:36.81KB
存储过程大全登录增删改查连接调用.docx
《存储过程大全登录增删改查连接调用.docx》由会员分享,可在线阅读,更多相关《存储过程大全登录增删改查连接调用.docx(27页珍藏版)》请在冰豆网上搜索。
存储过程大全登录增删改查连接调用
C#完整执行存储过程的代码加实例
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Data.SqlClient;
usingSystem.Collections;
usingSystem.Data;
namespaceTestWindow
{
publicclassStoreProcedure
{
//连接字符串。
privatestringconnectionString;
//存储过程名称。
privatestringstoreProcedureName;
privateconstStringconnString=
@"DataSource=localhost\SQLEXPRESS;InitialCatalog=Sample;IntegratedSecurity=True";
////
///初始化DataAccessHelper.StoreProceduer对象。
///
///
publicStoreProcedure(stringconnectionString)
{
this.connectionString=connectionString;
}
////
///初始化DataAccessHelper.StoreProceduer对象。
///
///
///
publicStoreProcedure(stringstoreProcedureName,stringconnectionString)
{
this.connectionString=connectionString;
this.storeProcedureName=storeProcedureName;
}
////
///获取或设置存储过程名称。
///
publicstringStoreProcedureName
{
get{returnthis.storeProcedureName;}
set{this.storeProcedureName=value;}
}
////
///执行操作类(Insert/Delete/Update)存储过程。
///
///
///
publicintExecuteNonQuery(paramsobject[]paraValues)
{
using(SqlConnectionconnection=newSqlConnection(this.connectionString))
{
SqlCommandcommand=this.CreateSqlCommand(connection);
try
{
this.DeriveParameters(command);
this.AssignParameterValues(command,paraValues);
connection.Open();
intaffectedRowsCount=command.ExecuteNonQuery();
returnaffectedRowsCount;
}
catch
{
throw;
}
}
}
////
///执行存储过程,返回System.Data.DataTable。
///
///
///
publicDataTableExecuteDataTable(paramsobject[]paraValues)
{
using(SqlConnectionconnection=newSqlConnection(this.connectionString))
{
SqlCommandcommand=this.CreateSqlCommand(connection);
try
{
this.DeriveParameters(command);
this.AssignParameterValues(command,paraValues);
SqlDataAdapteradapter=newSqlDataAdapter(command);
DataTabledataTable=newDataTable();
adapter.Fill(dataTable);
returndataTable;
}
catch
{
throw;
}
}
}
////
///执行存储过程,填充指定的System.Data.DataTable。
///
///
///
publicvoidExecuteFillDataTable(DataTabledataTable,paramsobject[]paraValues)
{
using(SqlConnectionconnection=newSqlConnection(this.connectionString))
{
SqlCommandcommand=this.CreateSqlCommand(connection);
try
{
this.DeriveParameters(command);
this.AssignParameterValues(command,paraValues);
connection.Open();
SqlDataAdapteradapter=newSqlDataAdapter(command);
adapter.Fill(dataTable);
}
catch
{
throw;
}
}
}
////
///执行存储过程返回System.Data.SqlClient.SqlDataReader,
///在System.Data.SqlClient.SqlDataReader对象关闭时,数据库连接自动关闭。
///
///
///
publicSqlDataReaderExecuteDataReader(paramsobject[]paraValues)
{
using(SqlConnectionconnection=newSqlConnection(this.connectionString))
{
SqlCommandcommand=this.CreateSqlCommand(connection);
try
{
this.DeriveParameters(command);
this.AssignParameterValues(command,paraValues);
connection.Open();
returncommand.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
throw;
}
}
}
////
///执行查询,并返回查询所返回的结果集中第一行的第一列。
忽略其他列或行。
///
///
///
publicobjectExecuteScalar(paramsobject[]paraValues)
{
using(SqlConnectionconnection=newSqlConnection(this.connectionString))
{
SqlCommandcommand=this.CreateSqlCommand(connection);
try
{
this.DeriveParameters(command);
this.AssignParameterValues(command,paraValues);
connection.Open();
objectresult=command.ExecuteScalar();
//stringr=command.Parameters[1].Value.ToString();
returnresult;
}
catch
{
throw;
}
}
}
////
///从在System.Data.SqlClient.SqlCommand中指定的存储过程中检索参数信息并填充指定的
///System.Data.SqlClient.SqlCommand对象的System.Data.SqlClient.SqlCommand.Parameters集 合。
///
///
internalvoidDeriveParameters(SqlCommandsqlCommand)
{
try
{
sqlCommand.Connection.Open();
SqlCommandBuilder.DeriveParameters(sqlCommand);
sqlCommand.Connection.Close();
}
catch
{
if(sqlCommand.Connection!
=null)
{
sqlCommand.Connection.Close();
}
throw;
}
}
//用指定的参数值列表为存储过程参数赋值。
privatevoidAssignParameterValues(SqlCommandsqlCommand,paramsobject[]paraValues)
{
if(paraValues!
=null)
{
if((sqlCommand.Parameters.Count-1)!
=paraValues.Length)
{
thrownewArgumentNullException("Thenumberofparametersdoesnotmatchnumberofvaluesforstoredprocedure.");
}
for(inti=0;i { sqlCommand.Parameters[i+1].Value=(paraValues[i]==null)? DBNull.Value: paraValues[i]; } } } //创建用于执行存储过程的SqlCommand。 privateSqlCommandCreateSqlCommand(SqlConnectionconnection) { SqlCommandcommand=newSqlCommand(this.storeProcedureName,connection); command.CommandType=CommandType.StoredProcedure; returncommand; } //-------------------------------------这一部分是我完善的,因为没有执行后返回存储过程中的返回值的函数----------------------- /// ///执行存储过程,返回存储过程定义的返回值,注意存储过程中参数(paraValues)如果为返回值赋为空,其它值位置对应好 /// /// /// /// publicvoidExecProcOutput(outobject[]output,intoutParaNum,paramsobject[]paraValues) { using(SqlConnectionconnection=newSqlConnection(this.connectionString)) { SqlCommandcommand=this.CreateSqlCommand(connection); output=newobject[outParaNum];//存储过程中返回值的个数 try { this.DeriveParameters(command); this.AssignParameterValues(command,paraValues); connection.Open(); command.ExecuteNonQuery(); for(inti=0;i { output[i]=command.Parameters[1].Value; } } catch { throw; } } } } } ------------------------------------------------增删改查存储过程------------------------------------------- 增 CREATE PROCEDURE [dbo].[Add_Admin] ( @UserName nvarchar(50), @Password nvarchar(50), @LastLoginIP nvarchar(50), @LastLoginTime Datetime ) AS INSERT INTO Admin ( UserName, Password, LastLoginIP, LastLoginTime ) Values ( @UserName, @Password, @LastLoginIP, @LastLoginTime ) RETURN @@Identity GO 删 CREATE PROCEDURE [dbo].[Delet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储 过程 大全 登录 增删 连接 调用