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 ...
随机推荐
- Java过滤任意(script,html,style)标签符,返回纯文本--封装类
import java.util.regex.Pattern; /** * 过滤标签字符串,返回纯文本 * */ public class ChangePlainText { ...
- ZigBee和Z-Wave的区别与未来
http://tech.c114.net/164/a702667.html ZigBee和Z-Wave短距离无线技术都用于远程监控和控制,但两种技术的规格和应用却不同.在美国应用越来越广泛的家庭局域网 ...
- Are you sure your NDK_MODULE_PATH variable is properly defined?(2)
Are you sure your NDK_MODULE_PATH variable is properly defined? STEP1: MIND: 明确NDK_MODULE_PATH概念ht ...
- java对象深入理解
1.对象可以携带更多信息 2.对象的方法不占用堆的存储空间 3.对象的状态指的是成员变量的值 4.对象的方法操作的也都是成员变量信息,最后返回的结果也都赋值给成员变量. 5.所以,new对象时,就会在 ...
- Git本地仓库与Github远程仓库关联
如果你已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,那就需要用到SSH Key,github拿到了你的公钥就会知道内容是你推送的. SSH Key ...
- Go:Hello World!
备注 结束了一周紧张的工作,周末像品茶一样玩味一下Go,本文主要记录学习Go的经历. Go是什么? 官方网站:http://golang.org/. 在Windows下安装Go 官方教程:http:/ ...
- PAT 1033. To Fill or Not to Fill (贪心)
PAT-A的最后一题,最终做出来了... 是贪心,通过局部最优获得全局最优. 1. 将加油站按距离升序排序 2. 记录当前所在的加油站index,存有的汽油,花费.向后遍历全部 该站可抵达的加油站 3 ...
- RxJava 中文文档
https://mcxiaoke.gitbooks.io/rxdocs/content/Subject.html
- Nginx发展现状及未来特性
Nginx ("engine x")是一个高性能的HTTP和反向代理 服务器,也是一个IMAP/POP3/SMTP 代理服务器,其特点是占用内存少,并发能力强.到目前完为止,Ngi ...
- -bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory
问题的原因是在windows下编辑然后上传到linux系统里执行的..sh文件的格式为dos格式.而linux只能执行格式为unix格式的脚本. 不要使用记事本编辑,使用代码编辑器可以正常执行