Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/27: Рейтинг темы: голосов - 27, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49

При попытке открыть DBF файл через OpenFileDialog вылетает ошибка

31.05.2012, 16:34. Показов 5814. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
при попытке открыть DBF файл через OpenFileDialog вылетает ошибка
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //System.Windows.Forms.DataGrid ZipCode = null;
            
            DataGrid ZipCode = null;
            //System.IO.Stream MyStream = null;
            Stream MyStream = null;      
            openFileDialog1.InitialDirectory = "C:\\Baza";          
            openFileDialog1.Filter = "dbf files (*.dbf)|*.dbf";            
            openFileDialog1.FilterIndex = 2;           
            openFileDialog1.RestoreDirectory = true;
          
 
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            
            {
                try
                {
                    if ((MyStream = openFileDialog1.OpenFile()) != null)
                    
                    {//if
                        using (MyStream)
                        {//using
 
                            string fullPathname = openFileDialog1.FileName;                           
                            // Insert code to read the stream here.
                            string open_b = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\;Extended Properties=dBase 5.0;Mode=Read|Write|Share Deny None;Persist Security Info=True";
                            OleDbConnection con=new OleDbConnection();
                            con.ConnectionString = open_b;
                            con.Open();
                            string vibor_t = "Select * From '" + fullPathname + "'";
                            OleDbDataAdapter DataAdapter = new OleDbDataAdapter(vibor_t,con);
                            DataSet DataSet = new DataSet();
                            DataAdapter.Fill(DataSet, fullPathname);                            
                            ZipCode.DataSource = DataSet.Tables[fullPathname].DefaultView;                        
                          
                        }//end using
                    }//end if
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка: Невозможно прочитать файл с диска: " + ex.Message);
                }
               
           }
           
       }
Миниатюры
При попытке открыть DBF файл через OpenFileDialog вылетает ошибка  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.05.2012, 16:34
Ответы с готовыми решениями:

Ошибка при работе с dbf через OLEDB
Доброго времени суток. Возникла такая проблема: из таблицы записываю данные в файл dbf. Записываются 1032 строки и после этого постоянно...

Ошибка при попытке открыть jar файл через консоль
При попытке открыть исполняемый jar файл через консоль возникает такая ошибка..В чем проблема?

Программа вылетает при попытке открыть файл
#include<iostream.h> #include<windows.h> #include<conio.h> #include<fstream.h> const int L=31; struct student{ char fam; char...

33
to
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
03.07.2012, 13:09
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от turbanoff Посмотреть сообщение
Вы не работали с foxpro базами?
а, нет не работал
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49
03.07.2012, 13:53  [ТС]
чето не понял я .

Добавлено через 2 минуты
никогда не сталкивался с dbf

Добавлено через 38 минут
если просто открыть dbf то все работает нормально а через openfiledialiog не фурыжит
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
try                
            {
                // Создаем подключение к DBF файлу
 
            string open_base = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\;Extended Properties=dBase 5.0; Mode=Read|Write|Share Deny None;Persist Security Info=True";
            
                //string open_base = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + System.IO.Path.Combine(Application.StartupPath, "DBF.dbf");
            OleDbConnection con = new OleDbConnection();
            con.ConnectionString = open_base;
            con.Open();
                // На данном этапе происходит открытие файла
            string vibor_table = "Select * from DBF";  // Выбрать все поля
             
            OleDbDataAdapter adapter = new OleDbDataAdapter(vibor_table,con); //Заполняем DataSet
            DataSet ds = new DataSet(); // Заносим данные в КЕШ
            adapter.Fill(ds);
            con.Close(); // Закрытие потока данных
            this.dataGridView1.DataSource = ds.Tables[0]; //Объявление DGV
            }
            catch(OleDbException exp)
            {
                MessageBox.Show("Error: " + exp.Message);               
            }
        }
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
04.07.2012, 14:43
C#
1
2
3
4
5
if ((MyStream = openFileDialog1.OpenFile()) != null)
                    
                    {//if
                        using (MyStream)
                        {//using
а зачем тут поток?
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49
06.07.2012, 10:38  [ТС]
по примеру делал для себя! вот и в сунул поток!

Добавлено через 1 час 49 минут
C#
1
2
fullPathname=C:\\Baza\\1.dbf
fi.=C:\Baza\1.dbf
может в етом касяк??

Добавлено через 15 секунд
C#
1
2
fullPathname=C:\\Baza\\1.dbf
fi.=C:\Baza\1.dbf
может в етом касяк??
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.07.2012, 11:38
Цитата Сообщение от kama3uk Посмотреть сообщение
по примеру делал для себя! вот и в сунул поток!
а ты попробуй не совать
Цитата Сообщение от kama3uk Посмотреть сообщение
может в етом касяк??
OpenFileDialog вернет имя в правильном формате
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49
07.07.2012, 11:21  [ТС]
уже и так сделал. все равно таже фигня
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string fullPathname = openFileDialog1.FileName;
                            FileInfo fi = new FileInfo(fullPathname);                         
                            // Insert code to read the stream here.
                            string open_b = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fi.DirectoryName + ";Extended Properties=dBase 5.0;Mode=Read|Write|Share Deny None;Persist Security Info=True";                            
                            OleDbConnection con = new OleDbConnection();                         
                            con.ConnectionString = open_b;
                            con.Open();
                            //string vibor_t = "Select * From '" + fi.Name + "'";
                            //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            string vibor_t = "Select * From '" + Path.GetFileNameWithoutExtension(fi.Name) + "'";
                            
                            //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            OleDbDataAdapter DataAdapter = new OleDbDataAdapter(vibor_t,con);
                            DataSet DataSet = new DataSet();                          
                            DataAdapter.Fill(DataSet, fullPathname);                          
                            ZipCode.DataSource = DataSet.Tables[fullPathname].DefaultView;
Добавлено через 22 часа 34 минуты
C#
1
2
3
4
5
                             OleDbDataAdapter adapter = new OleDbDataAdapter(vibor_t, con);                 
                            DataSet DataSet = new DataSet();
                            adapter.Fill(DataSet);   // На етой строчке вылетает ошибка 
                            con.Close();
                            this.dataGridView1.DataSource = DataSet.Tables[0];
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
07.07.2012, 11:27
kama3uk, попробуй для начала прописать в строку подключения путь константой
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49
07.07.2012, 11:33  [ТС]
это будет проблемно.я токо начал изучать С#
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
07.07.2012, 11:58
Цитата Сообщение от kama3uk Посмотреть сообщение
это будет проблемно.я токо начал изучать С#

C#
1
string open_b = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Baza;Extended Properties=dBase 5.0;Mode=Read|Write|Share Deny None;Persist Security Info=True";

Не по теме:

Если ты только начинаешь, может рановато ещё за БД браться?



Добавлено через 40 секунд
и посмотри примеры тут http://connectionstrings.com/dbf-foxpro
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49
07.07.2012, 12:58  [ТС]
таким способом пробывал.
adapter.Fill(ds); на етой строчке снимается
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
07.07.2012, 13:02
kama3uk, тут несколько вариантов:
- файл поврежден
- строка подключения не правильно составлена
- файл слишком большой (как написано в тексте ошибки)
- нет доступа к каталогу (для даной учетной записи)
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49
07.07.2012, 15:18  [ТС]
когда я указываю прямой путь к файлу(не использую openfiledialog)все прекрасно открывается.а через OFD неидет.будем капать дальше
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 49
16.07.2012, 14:45  [ТС]
Проблема решилась .
Было так
C#
1
string vibor_t = "Select * From '" + fullPathname + "'";
а надо вот так

C#
1
string vibor_t = "Select * From " + Path.GetFileNameWithoutExtension(fi.Name);
0
16.07.2012, 14:55

Не по теме:

Цитата Сообщение от kama3uk Посмотреть сообщение
а надо вот так
Это решение было на первой же странице темы - https://www.cyberforum.ru/ado-... ost3233007

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2012, 14:55

Проблема с базой данных. При попытке открыть вылетает 500-ая ошибка
Такая проблема: на серваке по адресу 'db/forum.mdb' лежит нужная мне база. ODBC источник создать нельза, поэтому необходимо открыть ее так....

Ошибка при попытке открыть файл
файл не читает, выдает ошибку , ну типо "ошибка открытия" вот текст #include "stdafx.h" #include "stdio.h" ...

Ошибка при попытке открыть текстовый файл
При попытке открыть текстовый файл типа txt, выдает ошибку.

Ошибка при попытке открыть файл в видео-проигрывателе
Подскажите, пожалуйста, почему возникает эта ошибка при событии button3_Click (открыть файл)? Хотел сделать видео-плеер по этому уроку:...

Открыть файл через компонент OpenFileDialog
Нужно переделать код. Чтоб имя файла не вводить вручную, а нужно было выбрать через диалоговое окно компонента OpenFileDialog. Спасибо!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru