Get Rows Values Of Database Table (Firebird Example)

PHOTO EMBED

Mon Aug 22 2022 11:40:59 GMT+0000 (Coordinated Universal Time)

Saved by @HristoT #c#

var source = await firebird.ExecuteDataTableAsync(sql);

var sb = new StringBuilder();
for (int i = 0; i < source.Rows.Count; i++)
{
    var row = string.Join(",", source.Rows[i].ItemArray);
    sb.AppendLine(row);
}

// the class

public class FB : IDatabaseProvider
{
        private FbConnection Connection;
        private FbTransaction Transaction;

        public FB(string connectionString = null)
        {
            this.Connection = new FbConnection(connectionString);
        }
  
  public async Task<DataTable> ExecuteDataTableAsync(string sql, params IDbDataParameter[] parameters)
        {
            using (var cmd = new FbCommand(sql, this.Connection))
            using (var adp = new FbDataAdapter(cmd))
            {
                cmd.Transaction = this.Transaction;
                if (this.Connection.State != ConnectionState.Open)
                {
                    await this.Connection.OpenAsync();
                }
                if (parameters.Length > 0)
                {
                    cmd.Parameters.AddRange(parameters);
                }

                var data = new DataTable("data");
                adp.Fill(data);
                return data;
            }
        }
}
content_copyCOPY