zoukankan      html  css  js  c++  java
  • 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
    
        }
    }
    
  • 相关阅读:
    nuget包管理器控制台下的powershell脚本介绍
    MSSQL数据库链接字符串Asynchronous Processing=true不是异步查询吗,怎么是缓存
    .net mvc web api 返回 json 内容,过滤值为null的属性
    序列化与反序列化成XML
    ASP.NET WebForm中用async/await实现异步
    webapi集成owin使用Oauth认证时能获取accee_token仍无法登录的解决办法
    C#异常类相关总结
    从多个XML文档中读取数据用于显示webapi帮助文档
    VS代码段扩展Snippet Designer is a Visual Studio plug in which allows you to create and search for snippets inside the IDE
    【工具】CodeSmith Generator 7.0.2激活步骤
  • 原文地址:https://www.cnblogs.com/shenchao/p/3673234.html
Copyright © 2011-2022 走看看