zoukankan      html  css  js  c++  java
  • backup: sqlHelper --cSharp

    用在只有一两个表操作也极为简单的小玩具里。

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Data;
     4 using System.Data.SqlClient;
     5 using System.Text;
     6 
     7 namespace Simple.SqlHelpers
     8 {
     9     internal class SqlHelper
    10     {
    11 
    12         /// <summary>
    13         /// 数据库连接字符串
    14         /// </summary>
    15         internal string ConnectionString { get; set; } 
    16 
    17 
    18         public SqlHelper()
    19         {
    20         }
    21 
    22         
    23         internal List<T> Query<T>(string sql, Func<SqlDataReader, T> convert, params SqlParameter[] sqlParams)
    24         {
    25             List<T> result = new List<T>();
    26 
    27             using (var conn = new SqlConnection(ConnectionString))
    28             {
    29                 using (var command = new SqlCommand(sql, conn))
    30                 {
    31                     command.Parameters.AddRange(sqlParams);
    32 
    33                     conn.Open();
    34                     using (var reader = command.ExecuteReader())
    35                     {
    36                         while (reader.Read())
    37                         {
    38                             result.Add(convert(reader));
    39                         }
    40                     }
    41                 }
    42             }
    43             return result;
    44         }
    45 
    46         internal void Update(string sql, params SqlParameter[] sqlParams)
    47         {
    48             using (var conn = new SqlConnection(ConnectionString))
    49             {
    50                 using (var command = new SqlCommand(sql, conn))
    51                 {
    52                     command.Parameters.AddRange(sqlParams);
    53 
    54                     conn.Open();
    55                     command.ExecuteNonQuery();
    56                 }
    57             }
    58         }
    59 
    60         internal void ActionUpdate(Action<SqlConnection> action)
    61         {
    62             using (var conn = new SqlConnection(ConnectionString))
    63             {
    64                 action(conn);
    65             }
    66         }
    67 
    68     } // class
    69 }
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Data.SqlClient;
     4 using System.Linq;
     5 using System.Text;
     6 using System.Threading.Tasks;
     7 
     8 namespace Simple.SqlHelpers
     9 {
    10     internal class SqlDataReaderUtil
    11     {
    12         public static string ReadString(SqlDataReader reader, string name, string defaultVal)
    13         {
    14             int ordinal = reader.GetOrdinal(name);
    15             return reader.IsDBNull(ordinal)
    16                 ? defaultVal
    17                 : reader.GetValue(ordinal).ToString();
    18         }
    19 
    20         public static int ReadInt(SqlDataReader reader, string name, int defaultVal)
    21         {
    22             int ordinal = reader.GetOrdinal(name);
    23             if (reader.IsDBNull(ordinal))
    24             {
    25                 return defaultVal;
    26             }
    27 
    28             return Convert.ToInt32(reader.GetValue(ordinal));
    29         }
    30 
    31         public static long ReadLong(SqlDataReader reader, string name, long defaultVal)
    32         {
    33             int ordinal = reader.GetOrdinal(name);
    34             if (reader.IsDBNull(ordinal))
    35             {
    36                 return defaultVal;
    37             }
    38 
    39             return Convert.ToInt64(reader.GetValue(ordinal));
    40         }
    41 
    42         public static double ReadDouble(SqlDataReader reader, string name, double defaultVal)
    43         {
    44             int ordinal = reader.GetOrdinal(name);
    45             if (reader.IsDBNull(ordinal))
    46             {
    47                 return defaultVal;
    48             }
    49 
    50             return Convert.ToDouble(reader.GetValue(ordinal));
    51         }
    52 
    53 
    54     }
    55 }

    --- THE END ---

  • 相关阅读:
    jQuery easyui datagrid pagenation 的分页数据格式
    Mysql操作符号
    jquery JSON的解析方式
    线程有几种状态
    工作日志2014-07-07
    leetcode
    Fragment中的setUserVisibleHint()方法调用
    Android开发:Eclipse中SqliteManager插件使用
    海南出差报告总结(案件录入与案件追踪系统)
    Python学习十四:filter()
  • 原文地址:https://www.cnblogs.com/shadow-abyss/p/15438055.html
Copyright © 2011-2022 走看看