系統常用工具函數類:日期轉換、DataTable,DataReader

來源:互聯網
上載者:User

using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.IO;
using System.Diagnostics;

namespace Components
{
 /// <summary>
 /// 系統常用工具函數類
 /// </summary>
 public class SystemTools
 {  
  /// <summary>
  /// 將DataReader 轉為 DataTable
  /// </summary>
  /// <param name="DataReader">DataReader</param>
  public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)
  {
   DataTable datatable = new DataTable();
   DataTable schemaTable = dataReader.GetSchemaTable();
   //動態添加列
   try
   {
   
    foreach(DataRow myRow in schemaTable.Rows)
    {
     DataColumn myDataColumn = new DataColumn();
     myDataColumn.DataType = myRow.GetType();
     myDataColumn.ColumnName = myRow[0].ToString();
     datatable.Columns.Add(myDataColumn);
    }
    //添加資料
    while(dataReader.Read())
    {
     DataRow myDataRow = datatable.NewRow();
     for(int i=0;i<schemaTable.Rows.Count;i++)
     {
      myDataRow[i] = dataReader[i].ToString();
     }
     datatable.Rows.Add(myDataRow);
     myDataRow = null;
    }
    schemaTable = null;
    dataReader.Close();
    return datatable;
   }
   catch(Exception ex)
   {
    ///拋出類型轉換錯誤
    throw new Exception("轉換出錯出錯!",ex);
   }
   
  }

  /// <summary>
  /// 將英文的星期幾轉為中文
  /// </summary> 
  public static string ConvertDayOfWeekToZh(System.DayOfWeek dw)
  {
   string DayOfWeekZh="";
   switch (dw.ToString ("D"))
   {
    case "0":
     DayOfWeekZh="日";
     break;
    case "1":
     DayOfWeekZh="一";
     break;
    case "2":
     DayOfWeekZh="二";
     break;
    case "3":
     DayOfWeekZh="三";
     break;
    case "4":
     DayOfWeekZh="四";
     break;
    case "5":
     DayOfWeekZh="五";
     break;
    case "6":
     DayOfWeekZh="六";
     break;
   }
   
   return DayOfWeekZh;
  }
 }

 /// <summary>
 /// 錯誤處理函數,用於記錄錯誤記錄檔
 /// </summary>
 public class SystemError
 {
  //記錄錯誤記錄檔位置
  private const string FILE_NAME = "c://OfficeAutolog.txt";

  /// <summary>
  /// 記錄日誌至文字檔
  /// </summary>
  /// <param name="message">記錄的內容</param>
  public static void SystemLog(string message)
  {
//   if(File.Exists(FILE_NAME))
//   {
//    ///如果記錄檔已經存在,則直接寫入記錄檔
//    StreamWriter sr = File.AppendText(FILE_NAME);
//    sr.WriteLine ("/n");
//    sr.WriteLine (DateTime.Now.ToString()+message);
//    sr.Close();
//   }
//   else
//   {
//    ///建立記錄檔
//    StreamWriter sr = File.CreateText(FILE_NAME);
//    sr.Close();
//   }    
  }
 }

 //自訂Exception
 public class MyException:Exception
 {
  //包含系統Excepton
  public MyException(string source,string message,Exception inner):base(message,inner)
  {
   base.Source=source;
  }

  //不包含系統Exception
  public MyException(string source,string message):base(message)
  {
   base.Source=source;
  }
 }

 /// <summary>
 /// 處理網頁中的HTML代碼,並消除危險字元
 /// </summary>
 public class SystemHTML
 {
  private static string HTMLEncode(string fString)
  {
   if(fString!=string.Empty)
   {
    ///替換角括弧
    fString.Replace("<","&lt;");
    fString.Replace(">","&rt;");
    ///替換引號
    fString.Replace(((char)34).ToString(), "&quot;");
    fString.Replace(((char)39).ToString(), "&#39;");
    ///替換空格
    fString.Replace(((char)13).ToString(), "");
    ///替換分行符號
    fString.Replace(((char)10).ToString(), "<BR> ");
   }
   return(fString);
  }
 }
}
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.