亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

csharp: Microsoft SqlHelper

2019-11-17 02:33:00
字體:
來源:轉載
供稿:網友

csharp: Microsoft SqlHelper

from:Microsoft Data access application Block for .NET https://www.microsoft.com/en-us/download/confirmation.aspx?id=435

.NET4.5:http://referencesource.microsoft.com/#System.Web.Extensions/ClientServices/PRoviders/SqlHelper.cs

// ===============================================================================// Microsoft Data Access Application Block for .NET// http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp//// SQLHelper.cs//// This file contains the implementations of the SqlHelper and SqlHelperParameterCache// classes.//// For more information see the Data Access Application Block Implementation Overview. // ===============================================================================// Release history// VERSIONDESCRipTION//   2.0Added support for FillDataset, UpdateDataset and "Param" helper methods//// ===============================================================================// Copyright (C) 2000-2001 Microsoft Corporation// All rights reserved.// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR// FITNESS FOR A PARTICULAR PURPOSE.// ==============================================================================using System;using System.Data;using System.xml;using System.Data.SqlClient;using System.Collections;namespace Microsoft.ApplicationBlocks.Data{/// <summary>/// The SqlHelper class is intended to encapsulate high performance, scalable best practices for /// common uses of SqlClient/// </summary>    public sealed class SqlHelper    {        #region private utility methods & constructors        // Since this class provides only static methods, make the default constructor private to prevent         // instances from being created with "new SqlHelper()"        private SqlHelper() {}        /// <summary>        /// This method is used to attach array of SqlParameters to a SqlCommand.        ///         /// This method will assign a value of DbNull to any parameter with a direction of        /// InputOutput and a value of null.          ///         /// This behavior will prevent default values from being used, but        /// this will be the less common case than an intended pure output parameter (derived as InputOutput)        /// where the user provided no input value.        /// </summary>        /// <param name="command">The command to which the parameters will be added</param>        /// <param name="commandParameters">An array of SqlParameters to be added to command</param>        private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters)        {if( command == null ) throw new ArgumentNullException( "command" );if( commandParameters != null ){foreach (SqlParameter p in commandParameters){if( p != null ){// Check for derived output value with no value assignedif ( ( p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input ) && (p.Value == null)){p.Value = DBNull.Value;}command.Parameters.Add(p);}}}        }        /// <summary>        /// This method assigns dataRow column values to an array of SqlParameters        /// </summary>        /// <param name="commandParameters">Array of SqlParameters to be assigned values</param>        /// <param name="dataRow">The dataRow used to hold the stored procedure's parameter values</param>        private static void AssignParameterValues(SqlParameter[] commandParameters, DataRow dataRow)        {            if ((commandParameters == null) || (dataRow == null))             {                // Do nothing if we get no data                return;            }int i = 0;            // Set the parameters values            foreach(SqlParameter commandParameter in commandParameters)            {// Check the parameter nameif( commandParameter.ParameterName == null || commandParameter.ParameterName.Length <= 1 )throw new Exception( string.Format( "Please provide a valid parameter name on the parameter #{0}, the ParameterName property has the following value: '{1}'.", i, commandParameter.ParameterName ) );                if (dataRow.Table.Columns.IndexOf(commandParameter.ParameterName.Substring(1)) != -1)                    commandParameter.Value = dataRow[commandParameter.ParameterName.Substring(1)];i++;            }        }        /// <summary>        /// This method assigns an array of values to an array of SqlParameters        /// </summary>        /// <param name="commandParameters">Array of SqlParameters to be assigned values</param>        /// <param name="parameterValues">Array of objects holding the values to be assigned</param>        private static void AssignParameterValues(SqlParameter[] commandParameters, object[] parameterValues)        {            if ((commandParameters == null) || (parameterValues == null))             {                // Do nothing if we get no data                return;            }            // We must have the same number of values as we pave parameters to put them in            if (commandParameters.Length != parameterValues.Length)            {                throw new ArgumentException("Parameter count does not match Parameter Value count.");            }            // Iterate through the SqlParameters, assigning the values from the corresponding position in the             // value array            for (int i = 0, j = commandParameters.Length; i < j; i++)            {                // If the current array value derives from IDbDataParameter, then assign its Value propertyif (parameterValues[i] is IDbDataParameter){IDbDataParameter paramInstance = (IDbDataParameter)parameterValues[i];if( paramInstance.Value == null ){commandParameters[i].Value = DBNull.Value; }else{commandParameters[i].Value = paramInstance.Value;}}else if (parameterValues[i] == null){commandParameters[i].Value = DBNull.Value;}else{commandParameters[i].Value = parameterValues[i];}            }        }        /// <summary>        /// This method opens (if necessary) and assigns a connection, transaction, command type and parameters         /// to the provided command        /// </summary>        /// <param name="command">The SqlCommand to be prepared</param>        /// <param name="connection">A valid SqlConnection, on which to execute this command</param>        /// <param name="transaction">A valid SqlTransaction, or 'null'</param>        /// <param name="commandType">The CommandType (stored procedure, text, etc.)</param>        /// <param name="commandText">The stored procedure name or T-SQL command</param>        /// <param name="commandParameters">An array of SqlParameters to be associated with the command or 'null' if no parameters are required</param>        /// <param name="mustCloseConnection"><c>true</c> if the connection was opened by the method, otherwose is false.</param>        private static void PrepareCommand(SqlCommand command, SqlConnection connection, SqlTransaction transaction, CommandType commandType, string commandText, SqlParameter[] commandParameters, out bool mustCloseConnection )        {if( command == null ) throw new ArgumentNullException( "command" );if( commandText == null || commandText.Length == 0 ) throw new ArgumentNullException( "commandText" );            // If the provided connection is not open, we will open itif (connection.State != ConnectionState.Open){mustCloseConnection = true;connection.Open();}else{mustCloseConnection = false;}            // Associate the connection with the command            command.Connection = connection;            // Set the command text (stored procedure name or SQL statement)            command.CommandText = commandText;            // If we were provided a transaction, assign it            if (transaction != null)            {if( transaction
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜丰满在线18影院| 91久久久久久久久| 日韩免费在线视频| 91香蕉嫩草神马影院在线观看| 国产精品福利在线观看网址| 欧美黑人一区二区三区| 久久香蕉精品香蕉| 91av在线播放视频| 国内精品模特av私拍在线观看| 亚洲精选一区二区| 成人欧美一区二区三区在线湿哒哒| 91av在线免费观看| 国产成人高潮免费观看精品| 日韩av第一页| 91免费国产网站| 欧美极品少妇xxxxⅹ喷水| 综合欧美国产视频二区| 日本道色综合久久影院| 欧美综合国产精品久久丁香| 久久97精品久久久久久久不卡| 国产在线观看一区二区三区| 国产成人精品久久| 欧美野外猛男的大粗鳮| 91高清免费在线观看| 宅男66日本亚洲欧美视频| 久久久亚洲网站| 国产精品久久久久久久久久ktv| 欧美电影在线观看网站| 2021国产精品视频| 欧美日韩亚洲网| 国产97在线亚洲| 成人写真福利网| 成人情趣片在线观看免费| 亚洲精选在线观看| 中文字幕在线亚洲| 久久精品视频网站| 最新69国产成人精品视频免费| 97精品一区二区三区| 国产精品www色诱视频| 亚洲无限av看| 亚洲欧美综合另类中字| 亚洲欧美日韩一区二区在线| 日韩在线免费av| 欧美日韩亚洲视频一区| 91av福利视频| 中日韩午夜理伦电影免费| 欧美日韩亚洲一区二| 国产美女久久精品| 97视频色精品| 色妞在线综合亚洲欧美| 国产一区二区三区在线观看网站| 国产欧美日韩免费看aⅴ视频| 欧美日韩国产麻豆| 久久视频这里只有精品| 亚洲成人av片在线观看| 人九九综合九九宗合| 欧美日韩激情视频| 欧洲成人在线观看| 日韩欧美成人网| 国产精品老女人视频| 欧美与欧洲交xxxx免费观看| 国产91免费观看| 4k岛国日韩精品**专区| 69视频在线免费观看| 久久综合伊人77777蜜臀| 国产成人精彩在线视频九色| 亚洲最大成人在线| 久热精品视频在线免费观看| 亚洲91av视频| 91久久久久久久久久久久久| 日韩动漫免费观看电视剧高清| 欧美亚洲另类制服自拍| 色综合久久悠悠| 国产成人自拍视频在线观看| 国产精品久久久久久久天堂| 亚洲欧美精品一区二区| 国产精品久久久久av| 亚洲精品美女在线| 国产一区欧美二区三区| 美女扒开尿口让男人操亚洲视频网站| 亚洲一区亚洲二区亚洲三区| 日韩电影免费观看在线观看| y97精品国产97久久久久久| 国产精品吹潮在线观看| 亚洲一区二区少妇| 亚洲国内精品在线| 国产成人综合精品| 亚洲福利小视频| 国产成人亚洲综合91| 欧美日韩色婷婷| 国产精品6699| 久久天天躁狠狠躁夜夜爽蜜月| 青青在线视频一区二区三区| 亚洲欧美日韩一区在线| 97精品国产97久久久久久| 久久国产精品免费视频| 成人网在线视频| 日本精品va在线观看| 日韩精品免费视频| 国产一区二区在线播放| 国产一区二区日韩精品欧美精品| 亚洲韩国欧洲国产日产av| 青青在线视频一区二区三区| 国产久一一精品| 久久久久久久久久国产精品| 91综合免费在线| 亚洲欧洲中文天堂| 日韩av大片在线| 日韩av电影在线网| 亚洲人成人99网站| 亚洲国语精品自产拍在线观看| 伊人久久大香线蕉av一区二区| 亚洲国产日韩欧美在线动漫| 亚洲成色777777在线观看影院| 视频在线观看一区二区| 中文字幕免费精品一区| 亚洲人成电影在线观看天堂色| 亚洲视频在线观看| 久久综合伊人77777蜜臀| 国产免费亚洲高清| 最新91在线视频| 精品国产一区二区三区四区在线观看| 中文字幕日韩在线播放| 亚洲欧美在线一区二区| 大伊人狠狠躁夜夜躁av一区| www.国产精品一二区| 国内精品模特av私拍在线观看| 亚洲第一页自拍| 久久在线免费视频| 中文国产亚洲喷潮| 亚洲高清久久网| 日韩成人高清在线| 亚洲成年人在线播放| 国产一区二区激情| 成人国内精品久久久久一区| 国产成人涩涩涩视频在线观看| 宅男66日本亚洲欧美视频| 亚洲第一中文字幕在线观看| 91美女高潮出水| 菠萝蜜影院一区二区免费| 欧美在线精品免播放器视频| 国产经典一区二区| 亚洲视频电影图片偷拍一区| 欧美午夜无遮挡| 不卡中文字幕av| 97香蕉久久夜色精品国产| 日韩精品极品在线观看播放免费视频| 高清欧美性猛交xxxx黑人猛交| 成人a级免费视频| 欧美成人久久久| 日本精品久久中文字幕佐佐木| 日韩在线免费视频| 欧美电影在线观看网站| 亚洲最大的网站| 国产精品一区久久| 国产精品免费视频xxxx| 欧美性视频在线| 日韩禁在线播放| 亚洲欧美日本另类| 久久97久久97精品免视看| 国产精品欧美久久久| 7m第一福利500精品视频| 国产精品久久久久久av下载红粉| 色av中文字幕一区|