В другом месте я получил следующий код в c #:
try
{
using (var dBaseConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; " + @" Data Source=c:\Temp; " + @"Extended Properties=dBase IV"))
{
dBaseConnection.Open();
string createTableSyntax =
"Create Table Person " +
"(" +
"Name char(50), " +
"City char(60), " +
"Phone char(19), " +
"Zip numeric(12)" +
//"Zip decimal(12)" +
")";
var cmd = new OleDbCommand(createTableSyntax, dBaseConnection);
cmd.ExecuteNonQuery();
dBaseConnection.Close();
}
}
catch (Exception ex)
{
string x = ex.Message;
}
В большинстве случаев это работает, за исключением того, что поле ZIP имеет ширину 20. Я попытался использовать как числовой, так идесятичное поле с тем же результатом.Когда редактор dBASE открывает этот файл, он жалуется, что ширина поля 20 недопустима.Я хотел бы указать ширину и положение десятичной точки десятичных полей и ширину числовых полей.Но я не могу этого сделать.
Я пытаюсь создать и записать в файлы dBASE IV файлы, к которым будет иметь доступ другое вычислительное программное обеспечение.Это другое программное обеспечение написано на C и C ++ и использует несуществующую библиотеку Sequiter для чтения и записи из / в файлы dBASE IV.Некоторые файлы содержат поля данных памятки.Намерение состоит в том, чтобы разработать пользовательский интерфейс C # для файлов dBASE IV, оставив только вычислительный код.
В C # возможно ли создавать / записывать файлы dBASE IV, включая памятные поля?Или нет простого способа сделать это?Я искал много мест в Интернете и не нашел решения, кроме предложений о направлении головы, которое не для слабонервных.