Standardzeichensatz unter .Net auslesen
Verfasst: Mo 18. Apr 2022, 10:29
Hallo Zusammen,
ich möchte gerne unter .Net mittels FirebirdClient.dll den default Characterset auslesen und habe da einen Effekt den ich mir nicht erklären kann. Hier ersteinmal der Code :
Ich bekomme auch ein Ergebnis in Form eines String zurück. Z.B "ISO8859_1 ", aber die Umwandlung in den zugehörigen Enum schlägt immer fehl. Ich habe den Code schon in soweit abgeändert, dass ich ein Enum.TryParse genommen habe, um eine Exception zu vermeiden. Wenn ich statt ExecuteScalar mit einem FbDataReader versuche den Wert zu lesen, kommt immer NULL zurück. (Das scheint nicht neu zu sein, siehe auch : https://stackoverflow.com/questions/138 ... racter-set)
Was ist so besonders daran diesen Wert aus der Systemtabelle auszulesen?
Wünsche frohe Ostern, und beste Grüße - Ulrich
ich möchte gerne unter .Net mittels FirebirdClient.dll den default Characterset auslesen und habe da einen Effekt den ich mir nicht erklären kann. Hier ersteinmal der Code :
Code: Alles auswählen
public static FbCharset GetDefaultCharSet(string ConnectionString)
{
FbCharset charset_default = FbCharset.None;
using (FbConnection connection = new FbConnection(ConnectionString))
{
connection.Open();
using (FbCommand cmd = new FbCommand("SELECT RDB$CHARACTER_SET_NAME FROM RDB$DATABASE", connection))
{
string charset = (string)cmd.ExecuteScalar();
bool ok = Enum.TryParse(charset.Trim(), out charset_default);
}
}
return charset_default;
}
Was ist so besonders daran diesen Wert aus der Systemtabelle auszulesen?
Wünsche frohe Ostern, und beste Grüße - Ulrich