private void Init(HanaProcessor processor, IEnumerable <string> columnDefinitions) { Connection = (HanaConnection)processor.Connection; Transaction = (HanaTransaction)processor.Transaction; NameWithSchema = string.IsNullOrEmpty(_schemaName) ? Name : string.Format("\"{0}\".{1}", _schemaName, Name); Create(columnDefinitions); }
public static void EndTransaction(ref HanaConnection sqlConnection, ref HanaTransaction sqlTransaction) { if (sqlTransaction != null) { sqlTransaction.Dispose(); } CloseConnection(sqlConnection); }
private void Init(HanaProcessor processor, IEnumerable<string> columnDefinitions) { Connection = (HanaConnection)processor.Connection; Transaction = (HanaTransaction)processor.Transaction; NameWithSchema = string.IsNullOrEmpty(_schemaName) ? Name : string.Format("\"{0}\".{1}", _schemaName, Name); Create(columnDefinitions); }
private void Init(HanaProcessor processor, IEnumerable <string> columnDefinitions) { NameWithSchema = quoter.QuoteTableName(Name, _schemaName); Connection = (HanaConnection)processor.Connection; Transaction = (HanaTransaction)processor.Transaction; Create(columnDefinitions); }
public HanaTestSequence(HanaProcessor processor, string schemaName, string sequenceName) { _schemaName = schemaName; Name = quoter.QuoteSequenceName(sequenceName); Connection = (HanaConnection)processor.Connection; Transaction = (HanaTransaction)processor.Transaction; NameWithSchema = string.IsNullOrEmpty(_schemaName) ? Name : string.Format("\"{0}\".{1}", _schemaName, Name); Create(); }
public HanaTestSequence(HanaProcessor processor, string schemaName, string sequenceName) { _schemaName = schemaName; Name = _quoter.QuoteSequenceName(sequenceName, null); Connection = (HanaConnection)processor.Connection; Transaction = (HanaTransaction)processor.Transaction; NameWithSchema = _quoter.QuoteSequenceName(sequenceName, schemaName); Create(); }
private void Init(HanaProcessor processor, IEnumerable <string> columnDefinitions) { NameWithSchema = _quoter.QuoteTableName(Name, _schemaName); Connection = (HanaConnection)processor.Connection; Transaction = (HanaTransaction)processor.Transaction; if (Connection.State != ConnectionState.Open) { Connection.Open(); } Create(columnDefinitions); }
public static void Execute(string commandText , HanaParameter parameter = null , List <HanaParameter> parameters = null , Dictionary <string, object> paramsOutputValue = null , CommandType type = CommandType.StoredProcedure , HanaConnection connection = null , HanaTransaction transaction = null) { HanaCommand command = null; try { if (connection == null) { connection = OpenConnection(); } command = PrepareCommand(commandText, connection, type, parameter, parameters, transaction); command.ExecuteNonQuery(); if (parameter != null || parameters != null) { foreach (HanaParameter x in parameters) { if (x.Direction == ParameterDirection.Output) { paramsOutputValue.Add(x.ParameterName, command.Parameters[x.ParameterName].Value); } } } } catch (HanaException) { throw; } finally { CloseCommand(command); if (transaction == null) { CloseConnection(connection); } } }
private static HanaCommand PrepareCommand(string commandText , HanaConnection connection , CommandType cmdType = CommandType.StoredProcedure , HanaParameter parameter = null , List <HanaParameter> parameters = null , HanaTransaction transaction = null) { HanaCommand command = new HanaCommand(); command.Connection = connection; command.CommandType = cmdType; command.CommandText = commandText; if (transaction != null) { command.Transaction = transaction; } if (parameter != null) { if (parameters == null) { parameters = new List <HanaParameter>(); } parameters.Add(parameter); } if (parameters != null) { foreach (HanaParameter x in parameters) { command.Parameters.Add(x); } } return(command); }
public static void BeginTransaction(ref HanaConnection sqlConnection, ref HanaTransaction sqlTransaction) { sqlConnection = OpenConnection(); sqlTransaction = sqlConnection.BeginTransaction(); }
/// <summary> /// 回傳Scalar(一筆資料的一個欄位) /// 此方法可自行設定要用哪種Type(SP OR SQLString) /// 包含交易物件 /// </summary> /// <param name="sqlString">SqlSreing語法或SP名稱</param> /// <param name="cmdType">使用的Type</param> /// <param name="connection">連線物件(為了確保同一個連線)</param> /// <param name="tran">交易物件(為了確保同一筆交易)</param> /// <param name="paramsArr">HanaParameter參數陣列</param> /// <returns>回傳資料</returns> public object ExecuteScalarTran(string sqlString, CommandType cmdType, ref HanaConnection connection, ref HanaTransaction tran, object[] paramsArr) { object obj; object result = null; try { HanaCommand cmd = new HanaCommand() { CommandType = cmdType }; HanaParameter[] cmdParams = null; if (paramsArr != null) { cmdParams = new HanaParameter[paramsArr.Length]; SettingParams(cmdParams, paramsArr); } CmdSettingModel cmdSetModel = new CmdSettingModel() { Conn = connection, Trans = tran, Text = sqlString }; SettingCommand(cmd, cmdSetModel, cmdParams); result = cmd.ExecuteScalar(); SqlParameterOutputSetting(cmdParams); obj = result; } catch (HanaException sqlException) { throw new Exception(string.Concat("存取SQL Server發生錯誤. SysInfo=", sqlException.Message)); } catch (Exception exception) { throw exception; } return(obj); }
/// <summary> /// 透過SQLString回傳Scalar(一筆資料的一個欄位) /// 包含交易物件 /// </summary> /// <param name="sqlString">SqlSreing語法</param> /// <param name="connection">連線物件(為了確保同一個連線)</param> /// <param name="tran">交易物件(為了確保同一筆交易)</param> /// <param name="paramsArr">HanaParameter參數陣列</param> /// <returns>回傳資料</returns> public object ExecuteScalarTran(string sqlString, ref HanaConnection connection, ref HanaTransaction tran, object[] paramsArr) { return(ExecuteScalarTran(sqlString, CommandType.Text, ref connection, ref tran, paramsArr)); }
/// <summary> /// 透過SQLString回傳Scalar(一筆資料的一個欄位) /// 不含參數物件 /// 包含交易物件 /// </summary> /// <param name="sqlString">SqlSreing語法</param> /// <param name="connection">連線物件(為了確保同一個連線)</param> /// <param name="tran">交易物件(為了確保同一筆交易)</param> /// <returns>回傳資料</returns> public object ExecuteScalarTran(string sqlString, ref HanaConnection connection, ref HanaTransaction tran) { return(ExecuteScalarTran(sqlString, ref connection, ref tran, null)); }
/// <summary> /// 新增、修改、刪除 /// 不含參數(parms)對SQL資料做更動 /// 包含交易物件 /// </summary> /// <param name="sqlString"></param> /// <param name="connection"></param> /// <param name="tran"></param> /// <returns></returns> public int ExcuteSQL(string sqlString, ref HanaConnection connection, ref HanaTransaction tran) { return(ExcuteSQL(sqlString, ref connection, ref tran, null)); }