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
}
}
最後更新:2017-04-03 08:26:22
上一篇:
Java中靜態方法不具有多態性
下一篇:
[推薦係統] 自己動手寫一個推薦係統
Enterprise Library深入解析與靈活應用(1):通過Unity Extension實現和Policy Injection Application Block的集成
重磅!阿裏媽媽首次公開自研CTR預估核心算法MLR
Reborn in 2016
Android開發 攝像頭SurfaceView預覽 背景帶矩形框 實現(原理:雙surfaceview,頂層畫矩形框,底層預覽視頻)
log4j的日誌級別
android電話、短信黑白名單攔截、電話錄音
微軟選擇 Ubuntu 放到 Windows 10 的 Linux 子係統中,或許“錯”了
Delphi中類似C中static變量的實現
線程帶來的風險(第一章)
敏捷教練如何優化優酷需求分析流程?