补贴 常用的sqlserver数据填充

 using System;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Configuration;
using System.Data;

namespace ajax研修   //システムによって修正してください。
{
 /// <summary>
 /// SQL接続クラス
 /// データベースへ接続クラス
 /// </summary>

 public class datalink
 {
  //データベースを接続する
  private SqlConnection myConnection;
               
  /// <summary>
  /// データベースを開く
  /// </summary>
      
  public void Open(string strConnection )   
  {
   // Webconfigから,引数をもらう
   if (myConnection == null)
   {
    myConnection = new SqlConnection(ConfigurationSettings.AppSettings[strConnection].ToString());    
   }    
   if(myConnection.State == ConnectionState.Closed)
   {  
    try
    {
     //開く
     myConnection.Open();
    }
    catch
    {
                   
    }

   }
  }

  /// <summary>
  /// データベースを閉じる
  /// </summary>
  public  void Close()
  {
   ///接続するかどうか
   if(myConnection != null)
   {
    ///開くかどうか
    if(myConnection.State == ConnectionState.Open)
    {
     myConnection.Close();
    }
   }
  }

  /// <summary>
  /// 資源を消す
  /// </summary>
  private void Dispose()
  {
   // 閉めることを確認する
   if (myConnection != null)
   {
    myConnection.Dispose();
    myConnection = null;
   }    
  }
  

  /// <summary>
  ///  創建一つSqlCommand対象、sql文とストアドを実行するために,SqlTypeについて、1はSQL文、0はストアドを代表です。
  /// </summary>
  /// <param name="TextName">SQL文とストアド名称</param>
  /// <param name="prams">ストアド引数</param>
  /// <param name="dbstring" >DB接続</param>
  /// <param name="sql_OR_Proc">SQL文とストアドを区分する</param>
  /// <returns>SqlCommand対象</returns>
  private SqlCommand CreateCommand(string sqlText, SqlParameter[] prams,int SqlType,string dbstring)
  {
          
   Open(dbstring);
        
   SqlCommand cmd = new SqlCommand(sqlText, myConnection);
        
   switch(SqlType)
   {
    case 0:
     cmd.CommandType = CommandType.StoredProcedure;
     break;
    case 1:
     cmd.CommandType = CommandType.Text;
     break;
    default:
     cmd.CommandType = CommandType.StoredProcedure;
     break;
   }
   

   ///引数をもらう
   if (prams != null)
   {
    foreach (SqlParameter parameter in prams)
    {
     cmd.Parameters.Add(parameter);
    }
   }
   
   ///創建したSqlCommandの対象を返る
   return cmd;
  }
  
  /// <summary>
  /// SQLを実行(SELECT)、DataSetの値を返る
  /// </summary>
  /// <param name="sqlText">sqlの文</param>
  /// <param name="dbstring" >DB接続</param>
  ///<returns>DataSet 返る値</returns>
  public DataSet RunSql_ds(string sqlText,string dbstring)
  {
   ///
   SqlCommand cmdsql = CreateCommand(sqlText,null,1,dbstring);
   DataSet ds=new DataSet();
      
   try
   { 
                     
    SqlDataAdapter myda=new SqlDataAdapter(cmdsql); 
    myda.Fill(ds);

    return ds;
   }   
   catch(Exception er)
   {                        
    return null;
   }
   finally
   {
    ///データベースを閉じる
    Close();
   } 
   
  }
  /// <summary>
  /// SQLを実行(UPDATE、INSERT、DELETE)、返る値はない時
  /// </summary>
  /// <param name="sqlText">SQLの文</param>
  /// <param name="dbstring" >DB接続</param>
  /// <returns>Bool返る値</returns>
  public bool RunSql_bool(string sqlText,string dbstring)
  {
   ///
   SqlCommand cmdsql = CreateCommand(sqlText,null,1,dbstring);
      
   try
   { 
    ///実行する
    
    cmdsql.ExecuteNonQuery(); 
                
    return true;
   }   
   catch
   {
    ///エラーがある
                
    return false;
   }
   finally
   {
    ///データベースを閉じる
    Close();
   } 


   
  }

  /// <summary>
  /// SQLを実行(SELECTの文)、SqlDataReaderの値を返る
  /// </summary>
  /// <param name="sqlText">SQLの文</param>
  /// <param name="dbstring">DB接続</param>
  /// <returns> SqlDataReader 返る値</returns>
  public SqlDataReader RunSql_dr(string sqlText,string dbstring)
  {
           
   SqlCommand cmdsql = CreateCommand(sqlText,null,1,dbstring);
      
   try
   { 
    SqlDataReader dr=cmdsql.ExecuteReader(CommandBehavior.CloseConnection);
    return dr;
    
   }   
   catch
   {
                        
    return null;
   }
   finally
   {
    ///データベースを閉じる
    Close();
   } 
   
  }
  /// <summary>
  /// SQLを実行(SELECT),return 検索結果の第一行、第一列の値があるかどうか
  /// </summary>
  /// <param name="sqlText">SQLの文</param>
       /// <param name="dbstring">DB接続</param>
  /// <returns>Bool 返る値</returns>
  public bool RunSql_selectFristRowbool(string sqlText,string dbstring)
  {
   ///
   SqlCommand cmdsql = CreateCommand(sqlText,null,1,dbstring);
      
   try
   { 
    if(cmdsql.ExecuteScalar()!=null)
    {
     return true;
    }
    else
    {
     return false;
    }
   }   
   catch
   {
    return false;
   }
   finally
   {
    ///データベースを閉じる
    Close();
   } 
   
  }
  /// <summary>
  /// SQLを実行(SELECT),return 検索結果の第一行、第一列の値
  /// </summary>
  /// <param name="sqlText">sqlの文</param>
  /// <param name="dbstring">DB接続</param>
  /// <returns>Object 返る値</returns>
  public object RunSql_selectFristRow(string sqlText,string dbstring)
  {
   ///
   SqlCommand cmdsql = CreateCommand(sqlText,null,1,dbstring);
      
   try
   { 
    return (cmdsql.ExecuteScalar());//object
    
   }   
   catch
   {
    ///エラーのある
    return null;
   }
   finally
   {
    ///データベースを閉じる
    Close();
   } 
   
  }

  /// <summary>
  /// ストアドを実行,輸入引数がある
  /// </summary>
  /// <param name="procName">ストアドの名称</param>
  /// <param name="prams"> ストアドの引数</param>
  /// <param name="dbstring">DB接続</param>
  /// <returns>Bool 返る値</returns>
  public bool RunProc_bool(string procName, SqlParameter[] prams,string dbstring)
  {
   SqlCommand cmd = CreateCommand(procName, prams,0,dbstring);
   try
   {
    cmd.ExecuteNonQuery();
    return true;
   }
   catch(Exception er)
   {
    return false;
   }
   finally
   {
    Close();
   
   }  

  }
  

  /// <summary>
  /// ストアドを実行,輸入引数がない、輸出引数もない bool
  /// </summary>
  /// <param name="procName">ストアドの名称</param>
  /// <param name="dbstring">DB接続</param>
  /// <returns>Bool 返る値</returns>
  public bool RunProc_bool(string procName,string dbstring)
  {
   SqlCommand cmd = CreateCommand(procName, null,0,dbstring);
   try
   {
    cmd.ExecuteNonQuery();
    return true;
   }
   catch
   {
    return false;
   }
   finally
   {
    Close();
   
   }       
  }
  /// <summary>
  /// ストアドを実行,輸入引数がない
  /// </summary>
  /// <param name="procName">ストアドの名称</param>
  /// <param name="dbstring">DB接続</param>
  /// <returns>DataSet 返る値</returns>
  public DataSet RunProc_ds(string procName,string dbstring)
  {
   SqlCommand cmd = CreateCommand(procName, null,0,dbstring);
   DataSet ds=new DataSet();
   try
   {
    SqlDataAdapter myda=new SqlDataAdapter(cmd);
    myda.Fill(ds);
    return ds;
              
   }
   catch
   {
    return null;
   }
   finally
   {
    ///データベースを閉じる
    Close();  
   }
       
          
  }

  /// <summary>
  /// ストアドを実行,輸入引数がある
  /// </summary>
  /// <param name="procName">ストアド名</param>
  /// <param name="dbstring">DB接続定義</param>
  /// <param name="prams">ストアドの引数</param>
  /// <returns></returns>
  public DataSet RunProc_ds(string procName, string dbstring,SqlParameter[] prams)
  {
   DataSet ds=new DataSet();
   SqlCommand cmd = CreateCommand(procName, prams,0,dbstring);
   try
   {
    SqlDataAdapter myda=new SqlDataAdapter(cmd);
    myda.Fill(ds);
    return ds;
               
   }
   catch
   {
    return null;
   }
   finally
   {
    Close();
   
   }       
          
  }

  /// <summary>
  /// ストアドの引数を創建
  /// </summary>
  /// <param name="ParamName">ストアドの名称</param>
  /// <param name="DbType">引数のtype</param>
  /// <param name="Size">引数size</param>
  /// <param name="Direction">引数の方向</param>
  /// <param name="Value">引数値</param>
  /// <returns>新しいparameter対象</returns>
  private SqlParameter CreateParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
  {
   SqlParameter param;

           
   if(Size > 0)
   {
    param = new SqlParameter(ParamName, DbType, Size);
   }
   else
   {
    ///引数のサイズ=0,引数のサイズを使わない
    param = new SqlParameter(ParamName, DbType);
   }

   ///outの引数を創建
   param.Direction = Direction;
   if (Value != null)
   {
    param.Value = Value;
   }

   ///返る
   return param;
  }

  /// <summary>
  ///SqlParameter入力専用の引数を創建
  /// </summary>
  /// <param name="ParamName">ストアドの名称</param>
  /// <param name="DbType">引数のtype</param>
  /// <param name="Size">引数size</param>
  /// <param name="Value">引数値</param>
  /// <returns>新しいparameter対象</returns>
  public SqlParameter CreateInParam(string ParamName, SqlDbType DbType, int Size, object Value)
  {
   ///
   return CreateParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
  }  

      
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值