private string AddAttributes(PgSqlRowType pgType) { const int len = 10; string devider = String.Empty; if (pgType.Attributes != null) { for (int i = 0; i < pgType.Attributes.Count; i++) { if (pgType.Attributes[i].RowType != null) { AddAttributes(pgType.Attributes[i].RowType); } else if (pgType.Attributes[i] != null) { tbResult.AppendText(pgType.Attributes[i].Name.PadRight(len).Substring(0, len) + " "); devider = devider + String.Empty.PadRight(len, '-').Substring(0, len) + " "; } } } return(devider); }
private void btExecute_Click(object sender, System.EventArgs e) { const int len = 10; int recCount = 0; try { Devart.Data.PostgreSql.PgSqlDataReader dataReader = command.ExecuteReader(); if (dataReader.FieldCount > 0) { string devider = ""; for (int i = 0; i < dataReader.FieldCount; i++) { PgSqlRowType pgType = dataReader.GetPgSqlRowType(i); if (pgType != null) { devider = devider + AddAttributes(pgType); } else { tbResult.AppendText(dataReader.GetName(i).PadRight(len).Substring(0, len) + " "); devider = devider + String.Empty.PadRight(len, '-').Substring(0, len) + " "; } } tbResult.AppendText("\r\n" + devider + "\r\n"); while (dataReader.Read()) { for (int i = 0; i < dataReader.FieldCount; i++) { PgSqlRowType pgType = dataReader.GetPgSqlRowType(i); if (pgType != null) { AddAttributeValues(dataReader.GetPgSqlRow(i)); } else { tbResult.AppendText(dataReader.GetValue(i).ToString().PadRight(len).Substring(0, len) + " "); } } tbResult.AppendText("\r\n"); recCount++; } tbResult.AppendText("\r\n" + recCount.ToString() + " rows selected.\r\n"); writeStatus1 = recCount.ToString() + " rows selected"; } else { tbResult.AppendText("Statement executed.\r\n"); writeStatus1 = "Statement executed"; } tbResult.AppendText("\r\n"); dataReader.Close(); } catch (Devart.Data.PostgreSql.PgSqlException exception) { tbResult.AppendText(exception.Message + "\r\n\r\n"); throw; } }