C# работа с DBF от FoxPRO 2.0

274
16 февраля 2018, 16:23

В общем такая лабораторная работа: Есть файл DB.DBF от FoxPRO 2.0. Нужно на C# Windows Form сделать элемент DataGridView и вывести в него все данные из этой бд. Так же реализовать кнопки редактирования, добавления и удаления записей в этой БД и поиск по всем столбцам.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Odbc;
namespace DBF_User
{
    public partial class Form : System.Windows.Forms.Form
    {
        public Form()
        {
            this.Conn = new OdbcConnection();
            Conn.ConnectionString = @"Driver={Microsoft dBase  Driver (*.dbf)};" + "SourceType=DBF;Exclusive=No;" + "Collate=Machine;NULL=NO;DELETED=NO;" + "BACKGROUNDFETCH=NO;";
        }
        private OdbcConnection Conn = null;
        public DataTable Execute(string Command)
        {
            DataTable dataTable = null;
            if (Conn != null)
            {
                try
                {
                    Conn.Open();
                    dataTable = new DataTable();
                    OdbcCommand oCmd = Conn.CreateCommand();
                    oCmd.CommandText = Command;
                    dataTable.Load(oCmd.ExecuteReader());
                    Conn.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
            return dataTable;
        }
        public DataTable GetAll(string DB_path)
        {
            return Execute("SELECT * FROM " + DB_path);
        }
        private void ButtonOpenDBF_Click(object sender, EventArgs e)
        {
            DBF_User DBFU = new DBF_User();                                 // Тут ругается "DBF_User является пространством имен, но используется как тип"
            DataGridViewDBF.DataSource = DBFU.GetAll(Application.StartupPath + "\\" + "DB.dbf");
        }
    }
}

Код не запускается, возникает ошибка "DBF_User является пространством имен, но используется как тип". Как исправить эту ошибку? Ну и может кто уже подобное реализовывал и может рассказать как работать с данной БД через C#, редактировать, сохранять и удалять записи в ней?

READ ALSO
C# Получение коллекций с вложенными коллекциями из базы MSSQL

C# Получение коллекций с вложенными коллекциями из базы MSSQL

Здравствуйте! Вопрос такой - в своём приложении использую, например, класс подразделения (Department), у которого есть вложенная коллекция сотрудников...

318
Monodevelop.ошибка создания целевого объекта

Monodevelop.ошибка создания целевого объекта

Переношу проект с# window в monodevelopНо выходит ошибка при компиляции ошибка создания целевого объекта LinkEmbeddableAssemblies:

191
Вызвать предупреждение в C#

Вызвать предупреждение в C#

У меня есть функция, которая может работать, даже если получила некорректные данныеНо я хочу предупредить пользователя/программиста, что...

186
Ошибка при использовании указателей в c#

Ошибка при использовании указателей в c#

Переписываю код с Си на C#Столкнулся со следующей проблемой

139