2010-05-17 6 views
1

Comment lire les valeurs vides du fichier "dbf" en C#. Actuellement, lors de la lecture des fichiers dbf, les valeurs vides dans le fichier sont automatiquement converties en valeurs par défaut. Comme le champ décimal vide est converti en "0,000". Quelqu'un peut-il aider s'il vous plaît à lire les champs vides comme ils sont et non comme valeurs par défaut.Lit les valeurs vides comme vides et non comme valeurs par défaut

Répondre

1

Le format de fichier .dbf remonte à l'âge de pierre de l'informatique. Il n'a jamais eu la notion d'une valeur de colonne "vide", les champs non assignés recevraient une valeur par défaut. La prise en charge des colonnes nullables n'est pas arrivée jusqu'à FoxPro. Je pense que ce que vous demandez n'est pas possible.

1

Pouvez-vous déclarer vos variables (au moins les types de valeurs) et nullable types:

decimal? myDecimal = null; 

Ensuite, s'il n'y a pas de valeur dans le domaine, il doit être laissé comme nul et non réglé sur une valeur par défaut.

La syntaxe T? est un raccourci pour Nullable, où T est un type de valeur. Les deux formes sont interchangeables.

1

decimal est un soi-disant value type et il ne peut pas être nulle, ce qui est probablement la raison pour laquelle vous obtenez ces valeurs par défaut. Cependant, la plupart des bases de données ont une notion de valeurs vides (DbNull), il serait donc très probablement juste de lire la valeur correctement. Si vous postez du code, nous devrions pouvoir vous aider.

+0

OleDbConnection objConn = nouveau OleDbConnection (@ "Provider = VFPOLEDB.1; Source de données =" + source + "; Persist Security Info = False; mode = Partage exclusif"); objConn.Open(); OleDbCommand objCmd = new OleDbCommand ("Sélection * from" + dbfFile, objConn); dt.Load (objCmd.ExecuteReader()); Ici, nous essayons de charger les données du fichier dbf à la table de données. Dans la table de données, les valeurs finales contiennent des valeurs par défaut même si le fichier dbf correspondant contient des valeurs vides. –

Questions connexes