存储过程大全登录增删改查连接调用.docx

上传人:b****6 文档编号:3731824 上传时间:2022-11-25 格式:DOCX 页数:27 大小:36.81KB
下载 相关 举报
存储过程大全登录增删改查连接调用.docx_第1页
第1页 / 共27页
存储过程大全登录增删改查连接调用.docx_第2页
第2页 / 共27页
存储过程大全登录增删改查连接调用.docx_第3页
第3页 / 共27页
存储过程大全登录增删改查连接调用.docx_第4页
第4页 / 共27页
存储过程大全登录增删改查连接调用.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

存储过程大全登录增删改查连接调用.docx

《存储过程大全登录增删改查连接调用.docx》由会员分享,可在线阅读,更多相关《存储过程大全登录增删改查连接调用.docx(27页珍藏版)》请在冰豆网上搜索。

存储过程大全登录增删改查连接调用.docx

存储过程大全登录增删改查连接调用

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。

       ///

       ///传递给存储过程的参数值列表。

       ///包含查询结果的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。

       ///

       ///用于填充查询结果的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对象关闭时,数据库连接自动关闭。

       ///

       ///传递给存储过程的参数值列表。

       ///包含查询结果的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集 合。

       ///

       ///将从其中导出参数信息的存储过程的System.Data.SqlClient.SqlCommand对象。

       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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1