现在的位置: 首页 > 综合 > 正文

一个数据库操作类比较好用

2013年06月30日 ⁄ 综合 ⁄ 共 9552字 ⁄ 字号 评论关闭

using System;
using System.Text;
using System.Web;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using DataAccess;
using System.Collections;

namespace WebsUI
{
     public class DbManage
     {
          public DbManage()
          {
               //
               // TODO: 在此处添加构造函数逻辑
              //
          }
          public static  DataSet  GetDataSet(string sql)
          { 
               return SqlHelper.ExecuteDataset(SqlHelper.ToEposConnString,CommandType.Text,sql);
          }
          public static  DataTable  GetDataTable(string sql)
         {
               DataSet ds = new DataSet();
               ds =  SqlHelper.ExecuteDataset(SqlHelper.ToEposConnString,CommandType.Text,sql);
                if(ds.Tables.Count>0)
                    return ds.Tables[0];
                 else
                    return  null;
          }
          public static  DataTable  GetDataTable_xml(string tableName)
         {
              try
             {
                     DataSet ds = new DataSet();
                    ds.ReadXml(HttpContext.Current.Server.MapPath("../usercontrol/dictionary.xml"));
                    if(ds.Tables.Contains(tableName))
                        return ds.Tables[tableName];
                    else
                        return null;
            }
            catch
            { 
                     return  null;
            }
        }
        public  static DataSet  GetDataSet_sp(string sql,SqlParameter[] myParams)
        {
               return SqlHelper.ExecuteDataset(SqlHelper.ToEposConnString,CommandType.StoredProcedure,sql,myParams); 
         }
        public static DataTable GetDataTable_sp(string sql,SqlParameter[] myParams)
        {
               DataSet ds=new DataSet ();
               ds= SqlHelper.ExecuteDataset(SqlHelper.ToEposConnString,CommandType.StoredProcedure,sql,myParams);
               if(ds.Tables.Count>0)
               {
                    return ds.Tables[0];
                }
                else
                {
                 return null;
                 }
        }
        public  static  void  ExecuteNonQuery(string sql)
       {
            SqlHelper.ExecuteNonQuery(SqlHelper.ToEposConnString,CommandType.Text,sql);
       }
        public  static  void  ExecuteNonQuery_sp(string sql,SqlParameter[] myParams)
        {
                SqlHelper.ExecuteNonQuery(SqlHelper.ToEposConnString,CommandType.StoredProcedure,sql,myParams);
        }
        public static void ToExcel(DataGrid ExcelDataGrid)
       {    
               HttpContext.Current.Response.Clear(); 
               HttpContext.Current.Response.Buffer= true; 
               HttpContext.Current.Response.Charset="GB2312";   
               HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");
               HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-7");//设置输出流为简体中文
               HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 
            
               ExcelDataGrid.EnableViewState = false; 
               System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
               System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 
               System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
               ExcelDataGrid.RenderControl(oHtmlTextWriter); 
               HttpContext.Current.Response.Write(oStringWriter.ToString());
               HttpContext.Current.Response.End();
      } 
        public static object  ExecuteScalar(string sql)
        {
              return SqlHelper.ExecuteScalar(SqlHelper.ToEposConnString,CommandType.Text,sql);
        }
        public static object ExecuteScalar(string spName, params SqlParameter [] SqlParameters)
        {
                return SqlHelper.ExecuteScalar(SqlHelper.ToEposConnString,CommandType.StoredProcedure, spName, SqlParameters);
        }
         public string UrlEncode(string url)
        {
                 return HttpContext.Current.Server.UrlEncode(url.Replace("'","singl[equotes"));
         }
         public string UrlDecode(string url)
        {
                return HttpContext.Current.Server.UrlDecode(url.Replace("singl[equotes","'"));
        }
        public void test(int a,string s)
        {
                a=10;
                s="uuu";
        }
        public static string DebugDataSet( DataSet _DataSet )
         {
               if ( _DataSet == null )
               {
                        return "什么都没有";
               }
               StringBuilder result = new StringBuilder();
               foreach ( DataTable table in _DataSet.Tables )
               {
                        result.AppendFormat("{0}\r\n", table.TableName);
                        result.Append( "<br>" );
                        DataRowCollection tableRows = table.Rows;
                        DataColumnCollection tableColumns = table.Columns;
                        for ( int ctrRow = 0; ctrRow < tableRows.Count; ctrRow++)
                        {
                                 DataRow row = tableRows[ctrRow] as DataRow;
                                 result.AppendFormat("Row #{0}-\r\n", ctrRow + 1);
                                 result.Append( "<br>" );
                                 object[] rowItems = row.ItemArray;
                                 for (int ctrColumn = 0; ctrColumn < tableColumns.Count; ctrColumn++)
                                 {
                                          DataColumn column = tableColumns[ctrColumn] as DataColumn;
                                          result.AppendFormat("\t{0}: {1}\r\n", column.ColumnName, rowItems[ctrColumn].ToString() );
                                          result.Append( "<br>" );
                                  }
                        }
                        result.Append("\r\n");
                }
                  return result.ToString();
          }
         public static string DebugDataTable( DataTable _DataTable )
         {
               if ( _DataTable == null )
               {
                    return "什么都没有";
               }
               StringBuilder result = new StringBuilder();
               DataTable  table  = new   DataTable();
               table = _DataTable;
               result.AppendFormat("{0}\r\n", table.TableName);
               result.Append( "<br>" );
               DataRowCollection tableRows = table.Rows;
               DataColumnCollection tableColumns = table.Columns;
               for ( int ctrRow = 0; ctrRow < tableRows.Count; ctrRow++)
               {
                     DataRow row = tableRows[ctrRow] as DataRow;
                     result.AppendFormat("Row #{0}-\r\n", ctrRow + 1);
                     result.Append( "<br>" );
                     object[] rowItems = row.ItemArray;
                     for (int ctrColumn = 0; ctrColumn < tableColumns.Count; ctrColumn++)
                     {
                          DataColumn column = tableColumns[ctrColumn] as DataColumn;
                          result.AppendFormat("\t{0}: {1}\r\n", column.ColumnName, rowItems[ctrColumn].ToString() );
                          result.Append( "<br>" );
                     }
                }
                result.Append("\r\n");
               return result.ToString();
      }
      public static string ExecuteInsert(DataTable dt)
      {
           string sql="";
           string fieldStr="";
           string valueStr="";
           int i=0;
           try
           {  
                for(i=0;i<dt.Columns.Count;i++)
                {
                     fieldStr += dt.Columns[i].ColumnName + ",";     
                }
                fieldStr = fieldStr.Substring(0,fieldStr.Length-1);  
                for(i=0;i<dt.Rows.Count;i++)
                {
                     sql = "insert into {0}({1}) values({2})";
                     valueStr ="";
                     for(int j=0;j<dt.Columns.Count;j++)
                     {
                          switch(System.Type.GetTypeCode(dt.Rows[i][j].GetType()))
                          {
                               case System.TypeCode.Byte:
                               case System.TypeCode.Char:
                               case System.TypeCode.Decimal:
                               case System.TypeCode.Double:
                               case System.TypeCode.Int16:
                               case System.TypeCode.Int32:
                               case System.TypeCode.Int64:
                               case System.TypeCode.SByte:
                               case System.TypeCode.Single:
                               case System.TypeCode.UInt16:
                               case System.TypeCode.UInt32:
                               case System.TypeCode.UInt64:
                               valueStr += dt.Rows[i][j].ToString() +",";
                               break;
                               case System.TypeCode.DateTime:
                               case System.TypeCode.String:       
                               valueStr += "'" + dt.Rows[i][j].ToString() +"',";
                               break;
                               case System.TypeCode.Boolean:
                               {
                                    if ((bool)dt.Rows[i][j]==true)
                                         valueStr += "1,";
                                    else
                                         valueStr += "0,";
                                    break;
                               }
                               default:
                               valueStr +=" null,";
                               break; 
                          }      
                     }
                     valueStr = valueStr.Substring(0,valueStr.Length-1); 
                     sql = string.Format(sql,dt.TableName,fieldStr,valueStr);
                     ExecuteNonQuery(sql); 
                }
                return "ok";
           }
           catch(Exception ex)
           {
                return ex.Message;
           }
      }
     }
}

抱歉!评论已关闭.