C#:数据库操作(待补充)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.Windows.Forms; namespace MyCommanHelper
{
public class DataBaseHelper
{ #region 字段变量 public static volatile string Connstring = "";
private static volatile OleDbConnection connection = null; #endregion #region 方法 #region Access // Methods
/// <summary>
/// 获取Access2003连接字符串
/// </summary>
/// <param name="sFilePath">Access文件路径</param>
/// <returns></returns>
public static string GetAccess2003ConnectionString(string sFilePath)
{
return ("Provider=Microsoft.JET.OLEDB.4.0;data source=" + sFilePath);
} /// <summary>
/// 获取Access2007连接字符串
/// </summary>
/// <param name="sFilePath">Access文件路径</param>
/// <returns></returns>
public static string GetAccess2007ConnectionString(string sFilePath)
{
return ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sFilePath);
} #endregion #region SqlServer #endregion #region Oracle
public static string GetOracleBlobConnectionString(string sUser, string sPassword, string sServiceName)
{
return ("server=oratest;Data Source=" + sServiceName + ";User ID=" + sUser + ";Password=" + sPassword);
} public static string GetOracleConnectionString(string sUser, string sPassword, string sServiceName)
{
return ("Provider=OraOLEDB.Oracle.1;Data Source=" + sServiceName + ";User ID=" + sUser + ";Password=" + sPassword);
} #endregion #region 公共 /// <summary>
/// 初始化新实例
/// </summary>
/// <returns></returns>
public static bool Init()
{
try
{
connection = new OleDbConnection(Connstring);
return true;
}
catch (Exception)
{
return false;
}
} /// <summary>
/// 执行非查询操作
/// </summary>
/// <param name="sqlStr">执行SQL语句</param>
/// <returns>返回影响行数,值为-1 表示未创建连接实例或执行语句错误</returns>
public static int ExecNonQuery(string sqlStr)
{
int rslt = -1; if (null == connection)
{
MessageBox.Show("无连接实例!");
return rslt;
} try
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
OleDbCommand command = new OleDbCommand(sqlStr, connection);
rslt = command.ExecuteNonQuery();
command.Dispose();
//connection.Close();
//connection.Dispose();
}
catch (Exception ex)
{
throw ex;
}
finally
{
connection.Close();
}
return rslt;
} /// <summary>
/// 获取只包含指定的数据的数据集
/// </summary>
/// <param name="sqlStr">Sql指令</param>
/// <param name="sTable">指定数据</param>
/// <returns>数据集 值为null 表示未创建连接实例</returns>
public static DataSet ExecQuery(string sqlStr, string sTable)
{
DataSet set2 = null;
if (null == connection)
{
MessageBox.Show("无连接实例!");
return set2;
} try
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
OleDbDataAdapter adapter = new OleDbDataAdapter(sqlStr, connection);
DataSet dataSet = new DataSet();
if (dataSet.Tables.Contains(sTable))
{
dataSet.Tables[sTable].Clear();
}
adapter.Fill(dataSet, sTable);
set2 = dataSet;
}
catch (Exception exception)
{
throw exception;
}
finally
{
connection.Close();
//connection.Dispose();
//connection = null;
}
return set2;
} /// <summary>
/// 获得第一行数据
/// </summary>
/// <param name="sql"></param>
/// <param name="sTable"></param>
/// <returns></returns>
public static DataRow GetFirstRow(string sql, string sTable)
{
DataRow row = null;
DataSet set = ExecQuery(sql, sTable);
if (set.Tables[sTable].Rows.Count > 0)
{
row = set.Tables[sTable].Rows[0];
}
return row;
} /// <summary>
/// 获得第一行第一个字段的值
/// </summary>
/// <param name="sql"></param>
/// <param name="sTable"></param>
/// <returns></returns>
public static string GetFirstFieldValue(string sql, string sTable)
{
string str = "";
DataSet set = ExecQuery(sql, sTable);
if (set.Tables[sTable].Rows.Count > 0)
{
DataRow row = set.Tables[sTable].Rows[0];
str = row[0].ToString();
}
return str;
} /// <summary>
/// 释放连接资源
/// </summary>
public static void Dispose()
{
if (null != connection)
{
if (connection.State != ConnectionState.Closed)
{
connection.Close();
}
connection.Dispose();
connection = null;
}
} #endregion #endregion }
}
C#:数据库操作(待补充)的更多相关文章
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
- MySQL 系列(二) 你不知道的数据库操作
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...
- ABP创建数据库操作步骤
1 ABP创建数据库操作步骤 1.1 SimpleTaskSystem.Web项目中的Web.config文件修改数据库配置. <add name="Default" pro ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- django数据库操作和中间件
数据库配置 django的数据库相关表配置在models.py文件中,数据库的连接相关信息配置在settings.py中 models.py相关相关参数配置 from django.db import ...
- [Android Pro] 完美Android Cursor使用例子(Android数据库操作)
reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...
- phpcms v9 中的数据库操作函数
1.查询 $this->select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') 返回 ...
- Android打造属于自己的数据库操作类。
1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要 ...
- python之数据库操作
数据库操作 Python 操作 Mysql 模块的安装 1 2 3 4 5 linux: yum install MySQL-python window: http://files ...
随机推荐
- The differentiation program with abstract data
#!r6rs ( import ( rnrs base ( 6 ) ) ( rnrs io simple ( 6 ) ) ) ( define ( deriv exp var ) ...
- Android源码大放送之material design类型
本文转载自:http://www.apkbus.com/android-243232-1-1.html 鉴于大家对源码的渴望,就算自己辛苦一点也要满足大家的需求,查看了几百个源码之后终于筛选出了这些精 ...
- Ubuntu12.04 挂载exFat格式U盘的方法(转)
原文链接:Ubuntu12.04 挂载exFat格式U盘的方法 首先关于exFAT ,这里就不多作解释了, 再介绍一个软件fuse-exfat, https://code.google.com ...
- Spark RDD API扩展开发
原文链接: Spark RDD API扩展开发(1) Spark RDD API扩展开发(2):自定义RDD 我们都知道,Apache Spark内置了很多操作数据的API.但是很多时候,当我们在现实 ...
- DedeCms V5.6 plus/advancedsearch.php 任意sql语句执行漏洞
漏洞版本: DedeCms V5.6 漏洞描述: DedeCMS内容管理系统软件采用XML名字空间风格核心模板:模板全部使用文件形式保存,对用户设计模板.网站升级转移均提供很大的便利,健壮的模板标签为 ...
- Dialog 样式 主题 标题 背景 使用【总结】
最重要的是这两行代码 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//设置Dialog没有标题,需在setContentView之前设置 ...
- jquery.validate1.9.0前台验证使用
一.利用jquery.form插件提交表单方法使用jquery.validate插件 现象:当提交表单时,即使前台未验证通过,也照常提交表单. 解决办法: $('#myForm').submit(fu ...
- IOS UITableView删除功能
UITbableView作为列表展示信息,除了展示的功能,有时还会用到删除,比如购物车等.删除功能可以直接使用系统自带的删除功能,当横向轻扫cell时,右侧出现红色的删除按钮,点击删除当前cell. ...
- java中的深浅克隆
假设有一个对象object,在某处又需要一个跟object一样的实例object2,强调的是object和object2是两个独立的实例,只是在开始的时候,他们是具有相同状态的(属性字段的值都相同). ...
- java学习笔记4--对象的初始化与回收
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note4.html,转载请注明源地址. 1.对象初始化和回收 对象初始化 系统在生成对象时,会 ...