.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 }
时间: 2024-08-27 03:38:51

.net连接access操作类的相关文章

c#.net连接access操作类

1.配置web.config文件:配置数据库连接参数 <configuration> <appSettings/> <connectionStrings>    <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\TeacherSystem\App_Data\db.mdb;Jet OLEDB:Dat

Microsoft Access数据库操作类(C#)

博文介绍的Microsoft Access数据库操作类是C#语言的,可实现对Microsoft Access数据库的增删改查询等操作.并且该操作类可实现对图片的存储,博文的最后附上如何将Image图片转换为byte[]数组类型,以及如何将byte[]数组类型转换为Image图片. 博文中会贴出该类的下载地址,可以直接下载使用. 注:操作Microsoft Access数据库需要安装Microsoft Office Access DataBase Engine,可以直接去微软的官网下载. 1. A

access数据库的连接字符串以及数据库操作类

<!--access数据库连接方式--> <add name="QYTangConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Test.mdb" providerName="System.Data.OleDb" /> using System;using System.Data;us

C#---数据库访问通用类、Access数据库操作类、mysql类 .[转]

原文链接 //C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration; namespace XXX{    /// <summary>    /// 针对SQL Server数据库操作的通用类           /// </sum

一个数据库操作类,适用于Oracle,ACCESS,SQLSERVER

最近做了一个数据诊断的项目,里面自己写了一个数据库的操作类,包含:连接数据库.读数据表.执行SQL操作,释放数据库等组成,希望对大家有用,由于水平有限,若有错误或者代码不足地方欢迎指正,谢谢. ADOOperate.H [cpp] view plaincopy ////////////////////////////////////////////////////////////////////// // 类功能:用于数据库的操作 主要实现 连接数据库 读数据表 检查数据表 执行SQL语句 //

C#---数据库访问通用类、Access数据库操作类、mysql类 .

//C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration; namespace XXX{    /// <summary>    /// 针对SQL Server数据库操作的通用类           /// </summary&

使用JDBC-ODBC连接Access数据库

使用JDBC-ODBC桥连接ACCESS数据库有两种方式:(1)配置ODBC数据源:(2)不配置ODBC数据源. 如果数据库文件为 person.mdb,路径为:G:\ProgramFiles\MyEclipse 6.5\workspace\JdbcOdbcTest\src\ person.mdb.配置的数据源名称为:person. (1)  配置ODBC数据源: 打开ODBC数据源管理器,在"系统DSN(或者用户DSN)"选项卡里面点击"添加"按钮. 在"

具体解释VB中连接access数据库的几种方法

在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 Data Link文件 使用ODBC数据源名称 使用连接字符串 使用数据环境设计器创建数据库连接 首先加入环境引用. 然后找到数据源进行连接 不管是哪一种连接,都是先有一个路径,通向要连接的数据源,和数据源建立关系,在连接.就好比从北京到上海,能够做汽车,能够做火车,还能够做飞机,汽车走快速,火车走

Access之C#连接Access

原文:Access之C#连接Access 如果是个人用的小程序的话.一般都推荐用Sqlite和Access 使用SQlite数据库需要安装SQLite驱动,详情:SQLite之C#连接SQLite 同样要使用Access数据库一必须安装Access驱动程序.驱动下载:http://pan.baidu.com/s/1moWje 官网下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255 可以在收索你需要的版本. 微软ADO.