300 lines
10 KiB
C#
300 lines
10 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Data.SqlClient;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Configuration;
|
||
using System.Windows.Forms;
|
||
using Npgsql;
|
||
using HelperDB;
|
||
|
||
namespace AIMSExtension
|
||
{
|
||
public static class PGDBHelper
|
||
{
|
||
public static readonly string _ConnectionString = new XmlUse(Application.StartupPath + "\\AIMS.xml").GetNode("HisConnectionStringOracel")[0].ToString();
|
||
|
||
/// <summary>
|
||
/// 执行sql操作(增、删、改)
|
||
/// </summary>
|
||
/// <param name="sql">sql语句</param>
|
||
/// <returns>执行的记录数</returns>
|
||
public static int ExecNonQuery(string sql)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
using (NpgsqlCommand cmd = conn.CreateCommand())
|
||
{
|
||
cmd.Parameters.Clear();
|
||
cmd.CommandText = sql;
|
||
return cmd.ExecuteNonQuery();
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql操作(增、删、改),以参数方式传值
|
||
/// </summary>
|
||
/// <param name="sql">sql语句</param>
|
||
/// <param name="values">参数数组</param>
|
||
/// <returns>执行的记录数</returns>
|
||
public static int ExecNonQuery(string sql, params SqlParameter[] values)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
using (NpgsqlCommand cmd = conn.CreateCommand())
|
||
{
|
||
cmd.Parameters.Clear();
|
||
cmd.CommandText = sql;
|
||
cmd.Parameters.AddRange(values);
|
||
return cmd.ExecuteNonQuery();
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql查询,得到单个值
|
||
/// </summary>
|
||
/// <param name="safeSql">得到单个值的sql查询语句</param>
|
||
/// <returns>单个值对象</returns>
|
||
public static object ExecuteScalar(string safeSql)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
using (NpgsqlCommand cmd = conn.CreateCommand())
|
||
{
|
||
cmd.Parameters.Clear();
|
||
cmd.CommandText = safeSql;
|
||
return cmd.ExecuteScalar();
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql查询,得到单个值,以参数方式传值
|
||
/// </summary>
|
||
/// <param name="safeSql">得到单个值的sql查询语句</param>
|
||
/// <param name="values">参数数组</param>
|
||
/// <returns>单个值对象</returns>
|
||
public static object ExecuteScalar(string safeSql, params SqlParameter[] values)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
using (NpgsqlCommand cmd = conn.CreateCommand())
|
||
{
|
||
cmd.Parameters.Clear();
|
||
cmd.CommandText = safeSql;
|
||
cmd.Parameters.AddRange(values);
|
||
return cmd.ExecuteScalar();
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql查询,得到一个DataReader对象,以参数方式传值
|
||
/// </summary>
|
||
/// <param name="sql">sql查询语句</param>
|
||
/// <param name="values">参数数组</param>
|
||
/// <returns>DataReader对象</returns>
|
||
public static NpgsqlDataReader GetDataReader(string sql, params SqlParameter[] values)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
|
||
NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
|
||
cmd.Parameters.AddRange(values);
|
||
NpgsqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
|
||
return reader;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql查询,得到一个DataTable对象
|
||
/// </summary>
|
||
/// <param name="sql">sql查询语句</param>
|
||
/// <returns>DataTable</returns>
|
||
public static DataTable GetDataTable(string sql)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
DataSet ds = new DataSet();
|
||
NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
|
||
NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd);
|
||
da.Fill(ds);
|
||
return ds.Tables[0];
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql查询,得到一个DataTable对象,以参数方式传值
|
||
/// </summary>
|
||
/// <param name="sql">sql查询语句</param>
|
||
/// <param name="values">参数数组</param>
|
||
/// <returns>DataTable</returns>
|
||
public static DataTable GetDataTable(string sql, params SqlParameter[] values)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
DataSet ds = new DataSet();
|
||
NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
|
||
if (values != null)
|
||
cmd.Parameters.AddRange(values);
|
||
NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd);
|
||
try
|
||
{
|
||
da.Fill(ds);
|
||
}
|
||
catch (Exception)
|
||
{
|
||
|
||
}
|
||
return ds.Tables[0];
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql查询,得到一个DataSet对象
|
||
/// </summary>
|
||
/// <param name="sql">sql查询语句</param>
|
||
/// <returns>DataSet</returns>
|
||
public static DataSet GetDataSet(string sql)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
DataSet ds = new DataSet();
|
||
NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
|
||
NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd);
|
||
try
|
||
{
|
||
da.Fill(ds);
|
||
}
|
||
catch (Exception)
|
||
{
|
||
|
||
}
|
||
return ds;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 执行sql查询,得到一个DataSet对象,以参数方式传值
|
||
/// </summary>
|
||
/// <param name="sql">sql查询语句</param>
|
||
/// <param name="values">参数数组</param>
|
||
/// <returns>DataSet</returns>
|
||
public static DataSet GetDataSet(string sql, params SqlParameter[] values)
|
||
{
|
||
using (NpgsqlConnection conn = new NpgsqlConnection(_ConnectionString))
|
||
{
|
||
if (conn.State != ConnectionState.Open)
|
||
conn.Open();
|
||
DataSet ds = new DataSet();
|
||
NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
|
||
|
||
if (values != null)
|
||
cmd.Parameters.AddRange(values);
|
||
|
||
NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd);
|
||
try
|
||
{
|
||
da.Fill(ds);
|
||
}
|
||
catch (Exception)
|
||
{
|
||
|
||
}
|
||
return ds;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 拆箱获得int
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static int GetInt(object obj)
|
||
{
|
||
return (int)obj;
|
||
}
|
||
/// <summary>
|
||
/// 拆箱获得float
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static float GetFloat(object obj)
|
||
{
|
||
return (float)obj;
|
||
}
|
||
/// <summary>
|
||
/// 拆箱获得double
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static double GetDouble(object obj)
|
||
{
|
||
return (double)obj;
|
||
}
|
||
/// <summary>
|
||
/// 拆箱获得long
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static long GetLong(object obj)
|
||
{
|
||
return (long)obj;
|
||
}
|
||
/// <summary>
|
||
/// 拆箱获得decimal
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static decimal GetDecimal(object obj)
|
||
{
|
||
return (decimal)obj;
|
||
}
|
||
/// <summary>
|
||
/// 拆箱获得bool
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static bool GetBoolean(object obj)
|
||
{
|
||
return (bool)obj;
|
||
}
|
||
/// <summary>
|
||
/// 拆箱获得DateTime
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static DateTime GetDateTime(object obj)
|
||
{
|
||
return (DateTime)obj;
|
||
}
|
||
/// <summary>
|
||
/// 拆箱获得string
|
||
/// </summary>
|
||
/// <param name="obj"></param>
|
||
/// <returns></returns>
|
||
public static string GetString(object obj)
|
||
{
|
||
return obj + "";
|
||
}
|
||
public static DateTime SystemDate()
|
||
{
|
||
string sqlStr = "select getdate() as SysDate";
|
||
DataTable dt = GetDataTable(sqlStr);
|
||
return DateTime.Parse(DateTime.Parse(dt.Rows[0]["SysDate"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"));
|
||
}
|
||
|
||
}
|
||
}
|