96 lines
3.1 KiB
C#
96 lines
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Npgsql;
|
|
using NpgsqlTypes;
|
|
|
|
namespace TTSW.Utils
|
|
{
|
|
public class MyDatabase : IMyDatabase
|
|
{
|
|
public IConfiguration Configuration { get; set; }
|
|
|
|
public MyDatabase(IConfiguration configuration)
|
|
{
|
|
Configuration = configuration;
|
|
}
|
|
|
|
|
|
|
|
public DataTable ExecuteDataTableNpgsql(string queryString, List<NpgsqlParameter> para)
|
|
{
|
|
System.Data.DataSet ds = new DataSet();
|
|
|
|
string connectionString = MyHelper.GetConfig(Configuration, "connectionStrings:externalDBConnectionString");
|
|
|
|
using (NpgsqlConnection conn = new NpgsqlConnection(connectionString))
|
|
using (NpgsqlCommand cmd = new NpgsqlCommand(queryString, conn))
|
|
{
|
|
if (para != null) cmd.Parameters.AddRange(para.ToArray());
|
|
using (NpgsqlDataAdapter ad = new NpgsqlDataAdapter(cmd))
|
|
{
|
|
ad.Fill(ds, "mytable");
|
|
}
|
|
}
|
|
return ds.Tables["mytable"];
|
|
}
|
|
|
|
public int ExecuteNonQueryNpgsql(string queryString, List<NpgsqlParameter> para)
|
|
{
|
|
int rowAffected = -1;
|
|
string connectionString = MyHelper.GetConfig(Configuration, "connectionStrings:externalDBConnectionString");
|
|
|
|
using (NpgsqlConnection conn = new NpgsqlConnection(connectionString))
|
|
using (NpgsqlCommand cmd = new NpgsqlCommand(queryString, conn))
|
|
{
|
|
conn.Open();
|
|
if (para != null) cmd.Parameters.AddRange(para.ToArray());
|
|
rowAffected = cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
return rowAffected;
|
|
}
|
|
|
|
public string ExecuteScalarNpgsql(string queryString, List<NpgsqlParameter> para)
|
|
{
|
|
string result = "";
|
|
string connectionString = MyHelper.GetConfig(Configuration, "connectionStrings:externalDBConnectionString");
|
|
|
|
using (NpgsqlConnection conn = new NpgsqlConnection(connectionString))
|
|
using (NpgsqlCommand cmd = new NpgsqlCommand(queryString, conn))
|
|
{
|
|
conn.Open();
|
|
if (para != null) cmd.Parameters.AddRange(para.ToArray());
|
|
result = cmd.ExecuteScalar().ToString();
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public List<NpgsqlParameter> GetParameterListNpgsql()
|
|
{
|
|
return new List<NpgsqlParameter>();
|
|
}
|
|
|
|
public NpgsqlParameter GetParameterNpgsql(string name, NpgsqlDbType type, int size, object value)
|
|
{
|
|
var i = new NpgsqlParameter(name, type, size);
|
|
i.Value = value;
|
|
return i;
|
|
}
|
|
|
|
public NpgsqlParameter GetParameterNpgsql(string name, NpgsqlDbType type, object value)
|
|
{
|
|
var i = new NpgsqlParameter(name, type);
|
|
i.Value = value;
|
|
return i;
|
|
}
|
|
}
|
|
}
|