Laden...

[Gelöst] LeadingZero in DataTables

Erstellt von LeoBold vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.313 Views
L
LeoBold Themenstarter:in
13 Beiträge seit 2016
vor 7 Jahren
[Gelöst] LeadingZero in DataTables

Hallo zusammen,

aus Access heraus übergebe ich meinem Service per OleDBConnection zu Testzwecken ein Table, das x verschiedene Keys enthält. Formatiert sind diese Keys in Access als Text.

Beispiel:

Key1: 0001

Im Testlauf ist mir aufgefallen (und danach, im Export zu Excel), dass mein Service keinen dieser Keys finden kann, die in XMLs hinterlegt sind.

Als ich mir dann einfach die komplette DataTable in Access ausgegeben habe, sah ich, dass das DataTable die Leading Zeros wegschneidet - trotz Textformatierung.

Importiert wird die Access-Tabelle so:

System.Data.DataTable results = new System.Data.DataTable();

            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                OleDbCommand cmd = new OleDbCommand("SELECT * FROM GetRelevantFactors", conn);

Nach meinen Recherchen gibt es mit der DataTable keine Möglichkeit, die Leading Zeros zu behalten - oder doch nicht?

Manuell die Zeros hinzuzufügen ist auch nicht möglich, da nicht alle Keys mit einer 0 beginnen.

Würd mich über Tips freuen, danke!

P
1.090 Beiträge seit 2011
vor 7 Jahren

Ganz kann ich dir da nicht folgen, so lange es immer ein String ist sollten die führenden nullen nicht Abgeschnitten werden. Wenn du es Irgendwo in eine Zahl (int) konvertierst kann das natürlich Passieren.

Führende Nullen hinzuzufügen ist aber kein Problem.
StackOverflow:How can I format a number into a string with leading zeros?

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

L
LeoBold Themenstarter:in
13 Beiträge seit 2016
vor 7 Jahren

Das Feld von der Table in Access ist zu 100% als Text formatiert

Nullen manuell hinzufügen ist auch keine Option 🙁

P
1.090 Beiträge seit 2011
vor 7 Jahren

Probiere mal den Datentyp beim DataTabel auf String zu setzen.
stackoverflow:How To Change DataType of a DataColumn in a DataTable?

Ansonsten schau mal mit dem Debugger wo sich der Wert von 0001 in 1 ändert.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

L
LeoBold Themenstarter:in
13 Beiträge seit 2016
vor 7 Jahren

Okay, ich muss zurückrudern. NUR der Export zu Excel war fehlerhaft - der Import in die DataTable war korrekt... sorry.