Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[Gelöst] LeadingZero in DataTables
LeoBold
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

[Gelöst] LeadingZero in DataTables

beantworten | zitieren | melden

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!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von LeoBold am .
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1.090

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
LeoBold
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

beantworten | zitieren | melden

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

Nullen manuell hinzufügen ist auch keine Option
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1.090

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
LeoBold
myCSharp.de - Member



Dabei seit:
Beiträge: 13

Themenstarter:

beantworten | zitieren | melden

Okay, ich muss zurückrudern. NUR der Export zu Excel war fehlerhaft - der Import in die DataTable war korrekt... sorry.
private Nachricht | Beiträge des Benutzers