You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
3.3 KiB
105 lines
3.3 KiB
using FangYar.Model.TBL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.Odbc;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace FangYar.Common
|
|
{
|
|
/// <summary>
|
|
/// clickhouse数据库连接查询帮助类
|
|
/// </summary>
|
|
public class ClickhouseHelp
|
|
{
|
|
/// <summary>
|
|
/// Clickhouse数据库连接
|
|
/// </summary>
|
|
private static string connectionString = @"DSN=clickhouse.xfzn365.cn";
|
|
|
|
|
|
/// <summary>
|
|
/// 执行SQL语句,返回影响的记录数
|
|
/// </summary>
|
|
/// <param name="SQLString">SQL语句</param>
|
|
/// <returns>影响的记录数</returns>
|
|
public static int ExecuteSql(string SQLString)
|
|
{
|
|
using (OdbcConnection connection = new OdbcConnection(connectionString))
|
|
{
|
|
using (OdbcCommand cmd = new OdbcCommand(SQLString, connection))
|
|
{
|
|
try
|
|
{
|
|
connection.Open();
|
|
int rows = cmd.ExecuteNonQuery();
|
|
return rows;
|
|
}
|
|
catch (Exception E)
|
|
{
|
|
connection.Close();
|
|
throw new Exception(E.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 执行SQL语句,返回影响的记录数
|
|
/// </summary>
|
|
/// <param name="SQLString">SQL语句</param>
|
|
/// <returns>影响的记录数</returns>
|
|
public static int ExecuteSql(string SQLString, params OdbcParameter[] cmdParms)
|
|
{
|
|
using (OdbcConnection connection = new OdbcConnection(connectionString))
|
|
{
|
|
using (OdbcCommand cmd = new OdbcCommand())
|
|
{
|
|
try
|
|
{
|
|
PrepareCommand(cmd, connection, null, SQLString, cmdParms);
|
|
int rows = cmd.ExecuteNonQuery();
|
|
cmd.Parameters.Clear();
|
|
return rows;
|
|
}
|
|
catch (Exception E)
|
|
{
|
|
throw new Exception(E.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 替换sql语句中的参数占位为真实的参数值
|
|
/// </summary>
|
|
/// <param name="cmd">MySqlCommand对象</param>
|
|
/// <param name="conn">数据库连接对象</param>
|
|
/// <param name="trans">事务对象</param>
|
|
/// <param name="cmdText">sql语句</param>
|
|
/// <param name="cmdParms">参数值数组</param>
|
|
private static void PrepareCommand(OdbcCommand cmd, OdbcConnection conn, OdbcTransaction trans, string cmdText, OdbcParameter[] cmdParms)
|
|
{
|
|
if (conn.State != ConnectionState.Open)
|
|
conn.Open();
|
|
cmd.Connection = conn;
|
|
cmd.CommandText = cmdText;
|
|
if (trans != null)
|
|
cmd.Transaction = trans;
|
|
cmd.CommandType = CommandType.Text;//cmdType;
|
|
if (cmdParms != null)
|
|
{
|
|
foreach (OdbcParameter parm in cmdParms)
|
|
cmd.Parameters.Add(parm);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|