using System;
using System.Web;
using System.Web.UI;
using System.Data;
using System.Data.OleDb;
namespace webdb.classes
{
/// <summary>
/// DbAccess 的摘要说明。
/// </summary>
public class DbAccess:Page
{
string ConnString;
OleDbConnection conn ;
OleDbCommand cmd;
public DbAccess(string datapath)
{
ConnString = "provider=Microsoft.Jet.OleDb.4.0;Data Source="+HttpContext.Current.Request.PhysicalApplicationPath.ToString()+"\\"+datapath;
/*if(path.Length<1)
{
ConnString = "provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("data/shuhua.mdb");
}
else
{
ConnString = "provider=Microsoft.Jet.OleDb.4.0;Data Source="+path[0].Trim();
}*/
conn = new OleDbConnection();
conn.ConnectionString=ConnString;
cmd = new OleDbCommand();
cmd.Connection=conn;
}
/// <summary>
/// 获取数据存在DataTable中
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataTable GetTable(string sql)
{
cmd.CommandText=sql;
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand=cmd;
//DataTable dt = new DataTable();
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
}
/// <summary>
/// 获取一个值
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public string GetOne(string sql)
{
string obj="";
conn.Open();
cmd.CommandText=sql;
try
{
obj = Convert.ToString(cmd.ExecuteScalar());
obj = (obj==null)?(""):(obj);
}
catch(Exception ex)
{
HttpContext.Current.Response.Write("<script>alert('"+ex.Message.ToString()+"')</script>");
}
conn.Close();
return obj;
}
public DataSet GetSet(string sql)
{
cmd.CommandText=sql;
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand=cmd;
//DataTable dt = new DataTable();
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
/// <summary>
/// 事物处理
/// </summary>
/// <param name="sqls"></param>
/// <returns></returns>
public bool GetStateTran(params string[] sqls)
{
conn.Open();
OleDbTransaction tran = conn.BeginTransaction();
//tran.
cmd.Transaction=tran;
for(int i=0;i<sqls.Length;i++)
{
try
{
cmd.CommandText=sqls[i];
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
tran.Rollback();
HttpContext.Current.Response.Write(ex.Message.ToString());
return false;
}
}
tran.Commit();
conn.Close();
return true;
}
public bool GetState(string sql)
{
bool suc = false;
conn.Open();
cmd.CommandText=sql;
try
{
int count = cmd.ExecuteNonQuery();
if(count>0)
suc=true;
}
catch(Exception ex)
{
HttpContext.Current.Response.Write("<script>alert('"+ex.Message.ToString()+"')</script>");
}
conn.Close();
return suc;
}
/*public bool ReturnState(string sql)
{
string String = "provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("data/shuhua.mdb");
OleDbConnection connR = new OleDbConnection();
connR.ConnectionString=String;
OleDbcommand cmdR = new OleDbCommand();
cmdR.Connection=connR;
bool suc = false;
connR.Open();
cmdR.CommandText=sql;
try
{
int count = cmdR.ExecuteNonQuery();
if(count>0)
suc=true;
}
catch(Exception ex)
{
HttpContext.Current.Response.Write("<script>alert('"+ex.Message.ToString()+"')</script>");
}
connR.Close();
return suc;
}*/
//分页
/*public DataTable GetPerData(string sql,int cur)
{
cmd.CommandText=sql;
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand=cmd;
DataSet ds = new DataSet();
int zon = cur*8;
da.Fill(ds,zon,8,"per");
return ds.Tables["per"];
}
*/
//根据提供的页数分页
public DataTable GetPerData(string sql,int cur,int percount)
{
cmd.CommandText=sql;
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand=cmd;
DataSet ds = new DataSet();
int zon = cur*percount;
da.Fill(ds,zon,percount,"per");
return ds.Tables["per"];
}
}
}
分享到:
相关推荐
VB.NET读写ACCESS数据库类,已在本人的项目上使用验证过,不错的封装类
此程序基于Visual studio 2005 英文版,主要是为了示例.net中用oledb方式对数据库操作(增删查改)的封装,包括了所有源码,适合入门者,我已调试无误(其中我基本上未进行容错处理,因为此程序的主要目的是对数据库的...
c#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)
c#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle) 带源码cs文件,非txt
C#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle) 这个类封装成dll后,相关数据库连接可在,引用该dll项目的app.config文件中写,如果是web程序,这需要修改代码,将构造函数中获取app.config的信息换成获取...
C#.NET万能数据库访问封装类ACCESS、SQLServer、Oracle
该类可以简单的操作各类数据库,包括MySql、Access、Oracle、MSSql等,例子中只演示了操作Access和Mysql,两个数据库都已经包含在压缩包了
数据库底层操作,调用相当简单,可以完成Sql、Oracle数据的增、删、改、执行存储过程功能,所有封装的方法请看文件"ConcSoft.Database.TXT",调用事例请看"调用ConcSoft.Database.dll事例.TXT",带日志追踪
为ASP.NET封装的SQL数据库访问类 DataTable.Select方法的性能问题 .NET 2.0里使用强类型数据创建多层应用 ADO.NET实用经验无保留曝光 有了System.Data.IDataReader,一切皆成数据 理解DataSet的数据缓存机制 存储过程...
Acess,Mysql,SqlServer,基于.net三种数据库基本操作dll封装源代码。 支持动态线程池连接及静态连接。
Visual Studio 中的 ADO.NET 数据组件以不同方式封装数据访问功能,帮助您加快编程速度并减少犯错几率。例如,数据命令提取生成和执行 SQL 语句或存储过程的任务。 同样,由这些工具生成的 ADO.NET 数据类导致类型...
查询方法,执行查询操作时组件就会调用对应.Net程序集完成查询操作,数据格式用XML封装,支持设计时测试操作。 5.Bu_RecordValidate 用于提供对单条记录的校验操作,该组件提供设计支持,设置好服务器连接后,可以...
除了上述四个逻辑层外,Duwamish 7.0 还包含封装在 Duwamish.sln 解决方案文件中的 Common 项目内的共享函数。Common 层包含用于在各层间传递信息的数据集。Common 项目还包含 Duwamish.sln 解决方案文件中的 ...
分别是SQL、Access、Oracle的操作类,这三个类都是源于微源提供的高效率源码,其中Access类经过本人修正完善,Access和SQL类函数经过扩充,使其更加符合实际开发的需要,提高开发效率,缩短开发时间。本人为政府与...
Access操作辅助类 Oledb操作辅助类 执行命令类 公历/农历类 日期格式处理类 文件实用类 上传类 图片处理类 授权类 链接辅助类 分页类 反射辅助类 浏览器辅助类 序列化功能辅助类 Session封装 Smtp邮件辅助类 字符串...
DAO就是Database Access Object,数据库访问对象的英文缩写。在VB中提供了两种与Jet数据库引擎接口的方法:Data控件和数据访问对象(DAO)。Data控件只给出有限的不需编程而能访问现存数据库的功能,而DAO模型则是...
目前,基于数据库服务器的桌面...我们利用.Net 远程处理功能将连接和存取Access的行为封装为一个远程对象,供网络中其它客户端通过调用该远程对象来存取实际的Access数据库。我们以 C# 2005 为开发语言来实现上述功能。
在ASP.NET中,能够使用面向对象的思想和软件开发中的一些思想,例如封装、派生、继承以及高级的设计模式等。本章首先介绍ASP.NET中最重要的概念---网页代码模型。 4.1 ASP.NET的网页代码模型 在ASP.NET应用程序开发...
第一篇 .NET基础 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用...
第一篇 .NET基础 第 1 章认识 ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET 历史与展望 1.1.2 ASP.NET 与ASP 1.1.3 ASP.NET 开发工具 1.1.4 ASP.NET 客户端 1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 ...