Как создать файл dBASE IV с использованием c # и OLEDB - PullRequest
0 голосов
/ 02 октября 2018

В другом месте я получил следующий код в 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, включая памятные поля?Или нет простого способа сделать это?Я искал много мест в Интернете и не нашел решения, кроме предложений о направлении головы, которое не для слабонервных.

...