/// <summary> /// Refer to <see cref="OdbcCommand.ExecuteScalar"/> /// </summary> /// <param name="sql">SQL request to run</param> /// <returns>The scalar value if successfull, -1 in an error has occurred</returns> public int SelectScalar(string sql) { int scalar = -1; if (IsOpen && !string.IsNullOrEmpty(sql)) { sql = TryToFixTrueFalseTesting(sql); CLog.DEBUG($"{MethodBase.GetCurrentMethod().Module.Name}.{MethodBase.GetCurrentMethod().DeclaringType.Name}.{MethodBase.GetCurrentMethod().Name}", $"SQL: {sql}"); OdbcDataAdapter da = new OdbcDataAdapter(); da.SelectCommand = new OdbcCommand(); try { da.SelectCommand.Connection = Database; da.SelectCommand.CommandText = sql; scalar = (int)da.SelectCommand.ExecuteScalar(); } catch (Exception ex) { CLog.AddException($"{MethodBase.GetCurrentMethod().Module.Name}.{MethodBase.GetCurrentMethod().DeclaringType.Name}.{MethodBase.GetCurrentMethod().Name}", ex); } finally { da.SelectCommand.Dispose(); } } return(scalar); }
/// <summary> /// Selects a set of objects from the database and returns them inside a <see cref="DataSet"/> object to be extracted by the caller /// </summary> /// <param name="sql">A select request to launch</param> /// <param name="dataSet">An <see cref="DataSet"/> object which can be used to fetch data from the result set</param> /// <returns>True if successfull, false otherwise</returns> public bool SelectRequest(string sql, ref DataSet dataSet) { if (IsOpen && !string.IsNullOrEmpty(sql)) { sql = TryToFixTrueFalseTesting(sql); CLog.DEBUG($"{MethodBase.GetCurrentMethod().Module.Name}.{MethodBase.GetCurrentMethod().DeclaringType.Name}.{MethodBase.GetCurrentMethod().Name}", $"SQL: {sql}"); return(SelectRequest(new OdbcCommand(sql), ref dataSet)); } return(false); }
/// <summary> /// Launch a select request and feed a list of records fetched using the request /// </summary> /// <param name="sql">A select request to launch</param> /// <param name="feedRecordFunction">Functions called to feed a TnX object</param> /// <returns>A list of records fetched using the select request, null if an error has occurred</returns> public List <TnX> SelectRequest <TnX>(string sql, FeedRecordDelegate feedRecordFunction) { if (!string.IsNullOrEmpty(sql)) { sql = TryToFixTrueFalseTesting(sql); CLog.DEBUG($"{MethodBase.GetCurrentMethod().Module.Name}.{MethodBase.GetCurrentMethod().DeclaringType.Name}.{MethodBase.GetCurrentMethod().Name}", $"SQL: {sql}"); return(SelectRequest <TnX>(new OdbcCommand(sql), feedRecordFunction)); } return(null); }