Comment créer un .dbf fichier à l'aide de c#?
Je suis en train de ce faire un select et il fonctionne très bien
string str =
"SELECT * FROM FREE RIGHT JOIN TestTest ON FREE.DOCNO = TestTest.DOCNO";
DataTable dt = new DataTable();
OdbcDataAdapter da = new OdbcDataAdapter(str, odbconn);
da.Fill(dt);
Je suis en train de ce créer une .dbf et je reçois ce OdbcException :
string str0 = "Create Table Persons (Name char(50), City char(50), Phone char(20), Zip decimal(5))";
OdbcCommand cmd = new OdbcCommand(str0, odbconn);
cmd.ExecuteNonQuery();
ERREUR [42000] [Microsoft][Pilote ODBC dBase] erreur de Syntaxe dans le champ de la définition.
OriginalL'auteur jane | 2010-09-04
Vous devez vous connecter pour publier un commentaire.
Votre problème est causé par
Zip decimal(5)
, comme le pilote ODBC dBase ne l'aime pas. Sur le dessus de ma tête, et après un rapide google, je ne pouvais pas venir avec une syntaxe qu'il serait tolérer. Il ne l'acceptent assez gaiement si vous utilisez le fournisseur ole db au lieu de cela, comme suit:Une question cependant: Êtes-vous sûr que vous souhaitez créer la colonne Zip comme un nombre décimal? N'étant pas un résident des états-unis, je ne suis pas 100% convaincu sur cette information, mais, selon Wikipedia codes postaux pouvez commencer avec un
0
. Les stocker en tant que type de données numérique ne vous permet pas de représenter de manière précise.Mon code pour la création de la table via ODBC:
désolé, je ne comprends pas ce que tu veux dire par votre commentaire. Votre la création de la table SQL fonctionne un régal pour moi, à la fois via OleDb et Odbc. Il fonctionne dans son intégralité via OleDb et avec le
Zip decimal(5)
retiré pour Odbc. Il pourrait être une bonne idée pour augmenter la taille de l'échantillon de code vous montrer dans votre question! =)Problème fixe: vous aviez raison, il fonctionne. Merci beaucoup
il y a autre chose de mal/différent. J'ai copié le code que j'ai utilisé pour créer la table via ODBC dans ma réponse - pouvez-vous essayer cela et voir si cela fonctionne pour vous (évidemment modifier le chemin d'accès! =), et puis peut-être les ajuster dans votre code?
OriginalL'auteur Rob
Utilisation vfpoledb fournisseur et le type de champ
NUMERIC
au lieu deDECIMAL
.OriginalL'auteur Tural