Ole操作帮助类
/// <summary>
/// Ole操作类
/// </summary>
public class OleDataBaseHandle
{
private static OleDbConnection con = null;
private static OleDbCommand cmd = null;
/// <summary>
/// 通过文件路径 获取文件的所有表名
/// </summary>
/// <param name="Filename">文件路径</param>
/// <returns></returns>
public static DataTable GetFileTableName(string Filename)
{
string DbConnect = string.Empty;
try
{
DbConnect = GetConnect(Filename);//通过文件获取连接字符串
con = new OleDbConnection(DbConnect);
con.Open();
DataTable dt = new DataTable();
dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "TABLE" });
return dt;
}
catch (Exception)
{
return null;
}
finally
{
if (cmd != null)
{
cmd.Dispose();
}
if (con != null)
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
}
}
/// <summary>
/// 通过文件路径和表名获取所有数据(现支持EXCEL2003和ACCESS2003)
/// </summary>
/// <param name="Filename">文件路径</param>
/// <param name="TableName">表名</param>
/// <returns></returns>
public static DataTable GetFileTableData(string Filename, string TableName)
{
string DbConnect = string.Empty;
try
{
DbConnect = GetConnect(Filename);//通过文件获取连接字符串
con = new OleDbConnection(DbConnect);
con.Open();
DataTable dt = new DataTable();
cmd = new OleDbCommand("select * from [" + TableName + "]", con);
OleDbDataAdapter dapter = new OleDbDataAdapter(cmd);
dapter.Fill(dt);
return dt;
}
catch
{
return null;
}
finally
{
if (cmd != null)
{
cmd.Dispose();
}
if (con != null)
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
}
}
/// <summary>
/// 通过数据文件和表名获取该表的所有列(现支持EXCEL2003和ACCESS2003)
/// </summary>
/// <param name="Filename">文件路径</param>
/// <param name="TableName">文件表名</param>
/// <returns></returns>
public static DataTable GetFileTableName(string Filename, string TableName)
{
List<string> ErrorList = new List<string>();
OleDbCommand cmd = null;
OleDbConnection con = null;
string DbConnect = string.Empty;
try
{
DbConnect = GetConnect(Filename);//通过文件获取连接字符串
con = new OleDbConnection(DbConnect);
con.Open();
DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, TableName, null });
if (dt == null || dt.Rows.Count < 1)
{
return null;
}
else
{
return dt;
}
}
catch (Exception ex)
{
ErrorList.Add(ex.Message);
return null;
}
finally
{
if (cmd != null)
{
cmd.Dispose();
}
if (con != null)
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
}
}
/// <summary>
/// 通过语句执行返回结果true false
/// </summary>
/// <param name="StrQuery">执行的SQL语句</param>
/// <returns></returns>
public static bool OleImplement(string StrQuery, string ConnectStr)
{
try
{
con = new OleDbConnection(ConnectStr);
con.Open();
cmd = new OleDbCommand(StrQuery, con);
int a = cmd.ExecuteNonQuery();
if (a != 0)
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
finally
{
if (cmd != null)
{
cmd.Dispose();
}
if (con != null)
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
}
}
/// <summary>
/// 通过数据文件和表名获取该表的所有列
/// </summary>
/// <param name="StrQuery">所执行的SQL语句</param>
/// <returns></returns>
public static bool OleImplement(string StrQuery)
{
try
{
cmd = new OleDbCommand(StrQuery, con);
int a = cmd.ExecuteNonQuery();
if (a != 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception exxx)
{
return false;
}
}
/// <summary>
/// 通过连接字符串建立长链接
/// </summary>
/// <param name="StrConnect">连接数据库字符串</param>
public static void OleConnectOpen(string StrConnect)
{
con = new OleDbConnection(StrConnect);
con.Open();
}
/// <summary>
/// 关闭长链接并释放资源
/// </summary>
public static void OleConnectColse()
{
if (cmd != null)
{
cmd.Dispose();
}
if (con != null)
{
if (con.State == ConnectionState.Open)
{
con.Close();
con.Dispose();
}
}
}
/// <summary>
/// 执行参数化SQL语句
/// </summary>
/// <param name="StrQuery">所执行的SQL语句</param>
/// <param name="para">参数化集合</param>
/// <returns></returns>
public static bool OleImplement(string StrQuery, List<OleDbParameter> para)
{
try
{
cmd = new OleDbCommand(StrQuery, con);
foreach (var item in para)
{
cmd.Parameters.Add(item);
}
cmd.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 通过文件路径返回ADO连接字符串
/// </summary>
/// <param name="Filename">文件路径</param>
/// <returns></returns>
public static string GetConnect(string Filename)
{
string DbConnect = string.Empty;
if (Filename.Split('.')[1].ToLower() == "xls")
{
DbConnect = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + Filename + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'";
}
else if (Filename.Split('.')[1].ToLower() == "xlsx")
{
DbConnect = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + Filename + ";Extended Properties='Excel 12.0 Macro; HDR = NO'";
}
else if (Filename.Split('.')[1].ToLower() == "mdb")
{
DbConnect = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" + Filename;
}
else if (Filename.Split('.')[1].ToLower() == "accdb")
{
DbConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Filename;
}
else
{
DbConnect = null;
}
return DbConnect;
}
}
Ole操作帮助类的更多相关文章
- OLE操作Excel编译错误处理
Excel在公司用的很多,而这个东西我用的不是很好,就想用程序来处理,遇到很多错误.这几天研究了下OLE操作Excel.环境:VS2008 SP1+Excel 2007 加入OLE Type Li ...
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
- 简洁的PHP操作SQLite类
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了. ...
- C#工具类:Json操作帮助类(转载)
原文转载自C#工具类:Json操作帮助类_IT技术小趣屋. Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来 ...
- 【转载】C#工具类:Json操作帮助类
Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来简化相应的操作,该工具类中包含以下功能:对象转JSON.数据 ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- oracleHelper 操作帮助类
using System; using System.Configuration; using System.Data; using System.Collections; using Oracle. ...
- Java反射机制demo(六)—获得并操作一个类的属性
Java反射机制demo(六)—获得并操作一个类的属性 获得并操作一个类的属性?! 不可思议啊,一个类的属性一般都是私有成员变量啊,private修饰符啊! 但是毫无疑问,这些东西在Java的反射机制 ...
- 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查
Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...
随机推荐
- [原创]Android 常用adb命令总结
[原创]Android 常用adb命令总结 1 adb介绍 1.1 adb官方网站及下载 官方网站下载安装:http://adbshell.com/downloads 1.2 adb安装是否成功检查? ...
- [2019BUAA软件工程]个人期末总结感想
写在前面 经过一学期对于软件工程的学习,笔者完成了一次结对编程以及三个周期的敏捷开发流程.在本博客中笔者对于一学期的学习进行了总结,并对于自己最初的疑惑做出了回答. 笔者在学期开始前应课程要求 ...
- 关于用maven创建的springboot工程打包jar后找不到配置文件的问题
你的resources文件夹的名称写错了!!! 如果不在pom中配置build的资源路径,那么你的资源文件名必须默认是“resources”! 解决办法有两个: 1.修改文件夹名称 2.添加pom的b ...
- What is the difference between UNION and UNION ALL?
What is the difference between UNION and UNION ALL? UNION removes duplicate records (where all colum ...
- 树莓派3B+红外配置
sudo apt-get install lirc /etc/lirc/lirc_options.conf #driver = devinput driver = default #device = ...
- 七年老运维实战中的 Shell 开发经验总结【转】
无论是系统运维,还是应用运维,均可分为“纯手工”—> “脚本化”—> “自动化”—>“智能化”几个阶段,其中自动化阶段,主要是将一些重复性人工操作和运维经验封装为程序或脚本,一方面避 ...
- PHP系列 | 代码复用trait的构造函数使用
在ThinkPHP5.1 框架中自己封装了一个 trait 类,每次都在控制器中使用,但是在使用框架自身的验证器类(框架控制器方法)报错 在控制器中使用自定义验证器 $param = $this-&g ...
- Nginx打印json日志
1.修改配置,在http{}中添加 log_format access_json '{"@timestamp":"$time_iso8601",' '" ...
- POI 读取Excel文件 并解析JSON数据
package skuPrice; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundEx ...
- 全文搜索引擎Elasticsearch详细介绍
我们生活中的数据总体分为两种:结构化数据 和 非结构化数据. 结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理.指具有固 ...