DbHelper-SQL数据库访问助手


using System;

using System.Data;

using System.Data.SqlClient;

namespace Whir.Software.Framework.Ultimate

{

/// <summary>

///     数据库访问助手

/// </summary>

public class DbHelper

{

#region 判断连接是否成功

/// <summary>

///     判断连接是否成功!

/// </summary>

/// <param name="con"> 链接字符串</param>

/// <returns>true 表示链接成功,false表示连接失败</returns>

public static bool IsConnected(string con)

{

bool flag;

var conn = new SqlConnection(con);

try

{

conn.Open();

flag = true;

}

catch (Exception)

{

flag = false;

}

finally

{

conn.Close();

}

return flag;

}

#endregion

#region 执行不带参数sql语句

/// <summary>

///     执行不带参数sql语句

/// </summary>

/// <param name="sql">增,删,改sql语句</param>

/// <param name="con"></param>

/// <returns>返回所影响的行数</returns>

public static bool Execute(string sql, string con)

{

var cmd = new SqlCommand();

var connection = new SqlConnection(con);

try

{

using (connection)

{

cmd.Connection = connection;

cmd.CommandText = sql;

connection.Open();

cmd.ExecuteNonQuery();

return true;

}

}

catch (Exception)

{

return false;

}

}

#endregion

#region 执行SQL语句返回DataTable

/// <summary>

///     执行SQL语句返回DataTable

/// </summary>

/// <param name="sql"></param>

/// <param name="con"></param>

/// <returns></returns>

public static DataTable ExcuteDataTable(string sql, string con)

{

var cmd = new SqlCommand();

var connection = new SqlConnection(con);

try

{

using (connection)

{

cmd.Connection = connection;

cmd.CommandText = sql;

connection.Open();

var da = new SqlDataAdapter(cmd);

var ds = new DataSet();

da.Fill(ds);

return ds.Tables[0];

}

}

catch (Exception ex)

{

var dt = new DataTable();

dt.Columns.Add("异常信息");

DataRow row = dt.NewRow();

row["异常信息"] = ex.Message;

dt.Rows.Add(row);

return dt;

}

}

#endregion

#region 执行SQL语句查询单条记录

/// <summary>

///     执行SQL语句查询单条记录

/// </summary>

/// <param name="sql"></param>

/// <param name="con"></param>

/// <returns></returns>

public static object ExecuteScalar(string sql, string con)

{

var cmd = new SqlCommand();

var connection = new SqlConnection(con);

try

{

using (connection)

{

cmd.Connection = connection;

cmd.CommandText = sql;

connection.Open();

return cmd.ExecuteScalar();

}

}

catch (Exception)

{

return string.Empty;

}

}

#endregion

#region 取得表最大Id

/// <summary>

///     取得表最大Id

/// </summary>

/// <param name="tableName"></param>

/// <param name="fieldName"></param>

/// <param name="con"></param>

/// <returns></returns>

public static int GetMaxId(string tableName, string fieldName, string con)

{

string sql = "SELECT NVL(MAX({0}),0)+1 FROM {1}";

try

{

sql = string.Format(sql, fieldName, tableName);

int result;

Int32.TryParse(ExecuteScalar(sql, con).ToString(), out result);

return result;

}

catch (Exception)

{

return -1;

}

}

#endregion

}

}

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2025-01-20 22:15:15

DbHelper-SQL数据库访问助手的相关文章

Access数据库访问助手类

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.OleDb; using System.Collections; namespace TaoBaoSyncLibrary.Dal { /// <summary> /// Access数据库访问助手类 /// </summary> public class DBHelper_Ac

分享一下DbHelper通用数据库访问帮助类

通常我们在开发使用数据库访问帮助类时,都单独的针对某一种数据进行编写相应的数据访问帮助类,如SQLHelper,OracleHelper,OleDbHelper等,其实这些都帮助类的实现都是继承并实现ADO.NET中的数据库访问基类的,如SQLCommand->DbCommand,SQLConnection->DbConnection等,在未优化数据访问层之前,通常的框架结构如下所示: 其实我们现在可以将SQLServer,Oracle等的数据访问模块进行优化,将其合并为一个通用的DbHelp

为ASP.NET封装的SQL数据库访问类

asp.net|访问|封装|数据|数据库 using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Collections; namespace MyCorporation.DepartMent.DataBase { /// <summary> /// 通用数据库类 /// </summary> public class DataBas

ASP.NET封装的SQL数据库访问类_实用技巧

using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Collections; namespace MyCorporation.DepartMent.DataBase { /// <summary> /// 通用数据库类 /// </summary> public class DataBase { private string Co

vs打包winform程序如何附带sql数据库访问程序呢?

问题描述 winform+sql2008开发,sql2008在远程服务器中,现在需要把这个工程打包发布,发布的时候如何添加sql2008客户端呢?同时使用了excelcom,也把对应组件加入了安装包,但是安装好了不断报错,都是excelcom的错误.这个又是如何解决呢?谢谢大家了. 解决方案 本帖最后由 u013711462 于 2014-07-29 16:55:06 编辑解决方案二:参考里面的文章解决方案三:客户端上要安装Office.如果你仅仅是希望产生或者读取一些简单的excel文档,用n

java频繁连接sql数据库,出错,求高手帮忙,系统快上线了

问题描述 严重:nullINFO|jvm1|2011/03/2720:36:43|[dscp:/subroutine/lol_DB_Utility/1.pnutline:291]:INFO|jvm1|2011/03/2720:36:43|executeInterfaceQuery(sun.jdbc.odbc.JdbcOdbcConnection@b67cf0,"select*fromequipmentStateInfowhereisEfficiency='0'andEquipmentIDin('

Java 实现连接sql server 2000(JDBC数据库访问例子)

server|访问|数据|数据库 刘金龙 04041222 ljlsunny@vip.sina.com   第一种:通过ODBC连接数据库 JAVA语言的跨平台的工作能力(Write Once ,Run Anywhere).优秀的图像处理能力(我相信现在没有那种语言可以超过JAVA在网络上的图形处理能力).网络通信功能.通过JDBC数据库访问技术等等,让我们谁都不可否认JAVA语言是SUN公司对于计算机界的一个巨大的贡献.笔者可以描述这样一个场景:有一天你上网完全可以不用IE 或者NETSCAP

SQL Artisan数据库访问组件功能概述

本文概述SQL Artisan数据库访问组件功能. SQL Artisan现有的版已经在项目中运用,在使用的过程中得到的效果相当理想.刚接触这个组件的几个新同事通过了解已有例子,很快就能适应到项目开发过程中.组件的对象操作和编译检测大提高了编写效率,在项目中得到的效果自己也有点意想不到. SQL Artisang下一个版本的功能主完善在表对象操作和对象映射方面;包括:表对象支持数据操作,对象继承,视图对象映射,统计对象映射等.为了让组件功能扩展更方便,把组件的数据映射方式进行重构,由原来的XML

SQL数据库上面显示一个绿色向上的小箭头是怎么回事?也无法访问数据库了,有什么办法吗?

问题描述 SQL数据库上面显示一个绿色向上的小箭头是怎么回事?也无法访问数据库了,有什么办法吗? 解决方案 sql 有一个browser服务 这个是1434端口的 解决方案二: 你那里是sqlserver客户端吗 你看看sqlservernetmanager里的网络配置1433开了吗 解决方案三: 数据库服务是否启动,端口是否在侦听,防火墙是否拦截请求