• .net连接access操作类


      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Web;
      5 using System.Web.UI;
      6 using System.Data;
      7 using System.Data.OleDb;
      8 using System.Web.UI.WebControls;
      9 using System.IO;
     10 
     11 /// <summary>
     12 ///MyClasses 的摘要说明
     13 /// </summary>
     14 namespace newClasses
     15 {
     16     
     17     //自定义数据库连接类
     18     public class superConn{
     19 
     20         public OleDbConnection cnn;
     21         private OleDbCommand cmd;
     22         private OleDbDataReader datar;
     23 
     24         public superConn(string mdbFileName) {
     25             string _path = "~\App_Data\" + mdbFileName;
     26             string str_conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
     27                 + System.Web.HttpContext.Current.Server.MapPath(_path);
     28                 //MapPath(_path); 
     29             cnn = new OleDbConnection(str_conn);
     30         }
     31 
     32         // superConn.open()
     33         public void open() {
     34             cnn.Open();
     35         }
     36 
     37         public void close() {
     38             cnn.Close();
     39         }
     40 
     41         public OleDbDataReader GetDataReader(string _sql) {
     42             cmd = new OleDbCommand(_sql, cnn);
     43             datar = cmd.ExecuteReader();
     44             return datar;
     45         }
     46 
     47         //返回DDL控件,表名列表
     48         public DropDownList GetDDLforTableList() {
     49             DropDownList _ddl = new DropDownList();
     50 
     51             cnn.Open();
     52 
     53             DataTable dt = cnn.GetSchema("Tables", null);
     54 
     55             foreach (DataRow dr in dt.Select("TABLE_TYPE='TABLE'"))
     56             {
     57                 string s = dr["TABLE_NAME"].ToString();
     58                 _ddl.Items.Add(new ListItem(s));
     59 
     60             }
     61 
     62             cnn.Close();
     63 
     64             return _ddl;
     65         }
     66 
     67         //返回table,详细表内容
     68         public Table GetTable(string _tableName) {
     69             Table _tbl = new Table();
     70             cnn.Open();
     71                         
     72             cmd = new OleDbCommand("SELECT * FROM "+_tableName, cnn);
     73             datar = cmd.ExecuteReader();
     74 
     75 
     76             int i_fcount = datar.FieldCount;
     77 
     78             TableHeaderRow thr = new TableHeaderRow();
     79             for (int i = 0; i < i_fcount; i++)
     80             {
     81                 TableHeaderCell thd = new TableHeaderCell();
     82                 thd.Text = datar.GetName(i);
     83                 thr.Cells.Add(thd);
     84 
     85             }
     86             _tbl.Rows.Add(thr);
     87 
     88 
     89 
     90             while (datar.Read())
     91             {
     92                 TableRow tr = new TableRow();
     93                 for (int i = 0; i < i_fcount; i++)
     94                 {
     95                     TableCell td = new TableCell();
     96                     td.Text = datar[i].ToString();
     97                     tr.Cells.Add(td);
     98                 }
     99 
    100                 _tbl.Rows.Add(tr);
    101             }
    102 
    103 
    104             cnn.Close();
    105             return _tbl;
    106         }
    107 
    108     }
    109 
    110 
    111 
    112 
    113 
    114     //文件管理类
    115     public class superFile {
    116 
    117         public string _fileName;
    118         public string _fileTitle;
    119         public string _fileDir="~/filesDownload";
    120 
    121         //1
    122         public superFile() {
    123             _fileName = _fileTitle = "";
    124         }
    125 
    126         //2
    127         public superFile(int _id) {
    128             _fileName = _fileTitle = "";
    129             superConn sconn = new superConn("fileMNG.mdb");
    130             sconn.open();
    131             string _sql = "SELECT * FROM T_FILES WHERE f_id=" + _id;
    132             OleDbDataReader dr = sconn.GetDataReader(_sql);
    133             if (dr.Read())
    134             {
    135                 _fileTitle = dr["f_title"].ToString();
    136                 _fileName =  dr["f_name"].ToString();
    137             }
    138             sconn.close();
    139         
    140         }
    141 
    142         //下载
    143         public void fileDownload() {
    144             string _path = System.IO.Path.Combine(HttpContext.Current.Server.MapPath(_fileDir),_fileName);
    145            
    146                 if (System.IO.File.Exists(_path))
    147                 {
    148 
    149                     HttpContext.Current.Response.Clear();
    150                     HttpContext.Current.Response.Buffer = true;
    151 
    152                     HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + _fileTitle);
    153                     HttpContext.Current.Response.ContentType = "application/unknow";
    154                     HttpContext.Current.Response.TransmitFile(_path);
    155                     HttpContext.Current.Response.End();
    156 
    157                 }
    158 
    159         }
    160 
    161     
    162     }
    163 
    164   
    165 
    166     //读取文章的类
    167     public class superArtReader{
    168 
    169         public string ArtTitle;
    170         public string ArtContent;
    171         private string ArtID;
    172 
    173         /// <summary>
    174         /// 构造一个空文章对象
    175         /// </summary>
    176         public superArtReader() {
    177             ArtTitle = "";
    178             ArtContent = "";
    179         }
    180 
    181 
    182 
    183         /// <summary>
    184         /// 通过ID从数据库获取对应ID的文章
    185         /// </summary>
    186         /// <param name="artID"></param>
    187         public superArtReader(string artID) {
    188             ArtID = artID;
    189             ArtTitle = "";
    190             ArtContent = "";
    191 
    192             superConn scnn = new superConn("DATA.mdb");
    193             scnn.open();
    194             string _sql = "select * from T_article WHERE art_id=" + artID;
    195             OleDbDataReader dr = scnn.GetDataReader(_sql);
    196             if (dr.Read())
    197             {
    198                 ArtTitle = dr["art_ttl"].ToString();
    199                 ArtContent=dr["art_content"].ToString();
    200             }
    201             scnn.close();
    202            
    203         }
    204 
    205 
    206 
    207     }
    208 
    209 
    210 
    211 
    212     //新闻类:superNews静态类
    213     //superNewsItem动态类
    214 
    215     //superNewsItem动态类
    216     public class superNewsItem {
    217         private int news_id;
    218         private int news_ncid;
    219         private string nc_ttl;
    220 
    221         public string news_ttl;
    222         public string news_guide;
    223         public DateTime news_date;
    224         public int news_imgid;
    225         private string img_url;
    226         public string news_content;
    227         public int news_order;
    228         public Boolean news_enable;
    229         public Boolean news_home;
    230 
    231         /// <summary>
    232         /// 构造空新闻条目
    233         /// </summary>
    234         public superNewsItem(){
    235                       
    236 
    237         }
    238 
    239         /// <summary>
    240         /// 根据新闻的ID,从数据库获取新闻和相关信息;
    241         /// </summary>
    242         /// <param name="newsid"></param>
    243         public superNewsItem(int newsid) {
    244             superConn scnn = new superConn("DATA.mdb");
    245             scnn.open();
    246             string _sql = "SELECT T_NEWS.*, T_imgMng.img_url, List_newsClass.nc_ttl FROM List_newsClass INNER JOIN (T_imgMng INNER JOIN T_NEWS ON T_imgMng.img_id = T_NEWS.news_imgid) ON List_newsClass.nc_id = T_NEWS.news_ncid WHERE news_id=" + newsid;
    247             OleDbDataReader dr = scnn.GetDataReader(_sql);
    248             if (dr.Read()) {
    249                 news_id = int.Parse(dr["news_id"].ToString());   
    250                 news_ncid = int.Parse(dr["news_ncid"].ToString());
    251                 nc_ttl = dr["nc_ttl"].ToString();
    252                 news_ttl = dr["news_ttl"].ToString();
    253                 news_guide = dr["news_guide"].ToString();
    254                 news_date = (DateTime)dr["news_date"];
    255                 news_imgid = int.Parse(dr["news_imgid"].ToString());
    256                 img_url = dr["img_url"].ToString();
    257                 news_content = dr["news_content"].ToString();
    258                 news_order = int.Parse(dr["news_order"] is DBNull?"0":dr["new_order"].ToString());
    259                 news_enable = (Boolean)dr["news_enable"];
    260                 news_home = (Boolean)dr["news_home"];
    261             }
    262             scnn.close();
    263         }
    264 
    265 
    266         //更细致:将新闻类别设定为一个类,有属性ID,ClassName, 返回一个新闻类别的类,更符合调用逻辑
    267         /// <summary>
    268         /// 获取类别名称
    269         /// </summary>
    270         /// <returns>string型,类别名称</returns>
    271         public string getClassName() {
    272             return nc_ttl;
    273         }
    274 
    275         public int getClassID() {
    276             return news_ncid;
    277         }
    278 
    279         /// <summary>
    280         /// 以类别ID来设置新闻所属类别
    281         /// </summary>
    282         /// <param name="classID"></param>
    283         public void setClass(int classID) {
    284             superConn scnn = new superConn("DATA.mdb");
    285             scnn.open();
    286             string _sql = "SELECT * FROM List_newsClass WHERE nc_id=" + classID;
    287             OleDbDataReader dr = scnn.GetDataReader(_sql);
    288             if (dr.Read()) {
    289                 news_ncid = int.Parse(dr["nc_id"].ToString());
    290                 nc_ttl = dr["nc_ttl"].ToString();
    291             }
    292             scnn.close();
    293         }
    294 
    295     
    296     }
    297 
    298 
    299 
    300 
    301 
    302     //图片管理类
    303     //1. 静态类,图片上传类,只提供对应的方法
    304     public static class superImgUploader {
    305 
    306 
    307 
    308         /// <summary>
    309         /// 返回待上传文件的数量
    310         /// </summary>
    311         /// <returns></returns>
    312         public static int imgsCount() {
    313             int _count = 0;
    314             foreach (superImg _img in (superImg[])HttpContext.Current.Session["UploadImgs"]) {
    315                 if (_img != null) { _count++; }
    316             }
    317             return _count;
    318         }
    319 
    320         /// <summary>
    321         /// 添加一个图片对象到列表中
    322         /// </summary>
    323         /// <param name="ObjectImg">图片对象superImg</param>
    324         /// <returns>返回添加结果</returns>
    325         public static Boolean addImg(superImg ObjectImg) {
    326             Boolean _added = false;
    327             for (int i = 0; i < 10; i++) {
    328                 if (((superImg[])HttpContext.Current.Session["UploadImgs"])[i] == null) {
    329                     ((superImg[])HttpContext.Current.Session["UploadImgs"])[i] = ObjectImg;
    330                     _added = true;
    331                     break;
    332                 }
    333             }
    334             return _added;
    335         }
    336 
    337 
    338         /// <summary>
    339         /// 从列表中移除指定图片对象
    340         /// </summary>
    341         /// <param name="imgIndex">0-9 图片列表编号索引</param>
    342         public static void removeImg(int imgIndex) {
    343             ((superImg[])HttpContext.Current.Session["UploadImgs"])[imgIndex] = null;
    344         }
    345 
    346 
    347         /// <summary>
    348         /// 清除所有上传列表
    349         /// </summary>
    350         public static void clear() {
    351             HttpContext.Current.Session["UploadImgs"] = new superImg[10];
    352         }
    353 
    354 
    355         /// <summary>
    356         /// 上传列表中的所有文件
    357         /// </summary>
    358         public static void uploadAll() {
    359             foreach (superImg si in (superImg[])HttpContext.Current.Session["UploadImgs"])
    360             {
    361                 if (si != null)
    362                 {
    363                     if (si.readToUpload() == true)
    364                     {
    365                         string targPath = HttpContext.Current.Server.MapPath("~/test/" + si.targFname);
    366                         si.pstImgFile.SaveAs(targPath);
    367 
    368                         if (File.Exists(targPath))
    369                         {
    370                             si.uploaded();
    371                         }
    372 
    373                     }
    374                 }
    375             }
    376             clear();
    377         }
    378 
    379 
    380 
    381         public static void setCID(int i, int value) {
    382             ((superImg[])HttpContext.Current.Session["UploadImgs"])[i].setCID(value);
    383         }
    384 
    385     }
    386 
    387 
    388 
    389 
    390 
    391 
    392 
    393     //2.图片对象类
    394     public class superImg {
    395 
    396         public HttpPostedFile pstImgFile;
    397         public string Title;
    398         public string orgFname;
    399         public string targFname;
    400 
    401         private int img_id;             //
    402         public int img_cid;             //需要默认值
    403         private string img_cname;       //
    404 
    405         private Boolean uploadDone;     //默认FALSH
    406         
    407 
    408 
    409         
    410 
    411         /// <summary>
    412         /// 构建一个空superImg对象
    413         /// </summary>
    414         public superImg() { 
    415             
    416         }
    417 
    418 
    419         /// <summary>
    420         /// 通过postedFile构建一个superImg对象
    421         /// </summary>
    422         /// <param name="pstFile"></param>
    423         public superImg(HttpPostedFile _pstFile) {
    424             pstImgFile = _pstFile;
    425             Title = "新上传文件";
    426             orgFname = _pstFile.FileName;
    427             targFname = DateTime.Now.ToFileTime().ToString() + Path.GetExtension(orgFname);
    428             img_cid = 1;
    429             uploadDone = false;
    430         }
    431 
    432 
    433         /// <summary>
    434         /// 通过数据库img_id构建对应的superImg对象
    435         /// </summary>
    436         /// <param name="imgID">数据表T_imgMng.img_id的值</param>
    437         public superImg(int imgID) { 
    438         
    439         }
    440 
    441 
    442         /// <summary>
    443         /// 检测属性,并返回对象是否具备上传条件
    444         /// </summary>
    445         /// <returns></returns>
    446         public Boolean readToUpload() {
    447             Boolean _ready = true;
    448             if (pstImgFile == null) { _ready = false; }
    449             if (Title == null || Title == "") { _ready = false; }
    450             if (orgFname == "" || orgFname == null) { _ready = false; }
    451             if (targFname == "" || targFname == null) { _ready = false; }
    452             if (uploadDone == true) { _ready = false; }
    453             
    454             return _ready;
    455         }
    456 
    457 
    458         public void uploaded() {
    459             uploadDone = true;
    460         }
    461 
    462 
    463         public void setCID(int cidValue) {
    464             img_cid = cidValue;
    465         }
    466 
    467 
    468         
    469 
    470     }
    471 }
  • 相关阅读:
    《笨办法学python》 第14课手记
    《笨办法学Python》 第13课手记
    杭电2009----求数列的和
    杭电2008----数值统计
    杭电2007----平方和与立方和
    杭电2006----求奇数的乘积
    杭电2005----第几天?
    杭电2004---- 成绩转换
    杭电2003----求绝对值
    杭电2002----计算球体积
  • 原文地址:https://www.cnblogs.com/hyyweb/p/5133195.html
Copyright © 2020-2023  润新知