powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите как работать под .net с большими размерами dbf
6 сообщений из 6, страница 1 из 1
Подскажите как работать под .net с большими размерами dbf
    #36631857
sergiu.c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть следующий код который работает с малыми обьемами dbf (импортирует из dbf в mysql )
Код: plaintext
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.
 private void Connection()
        {
            server = "localhost";
            database = "dbf";
            uid = "root";
            password = "88888";
            string connectionString;
            connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
            mysql_connection = new MySqlConnection(connectionString);

            OleDbConnection DBFconn = new OleDbConnection(@"Provider=VFPOLEDB.1;data source=C:\\sisarm.dbf;");
           
            DataSet DBFds = new DataSet();
            DataSet MySQLds = new DataSet();

            DBFconn.Open();

           OleDbDataAdapter dbfAd = new OleDbDataAdapter("SELECT * FROM sisarm", DBFconn);
             dbfAd.Fill(DBFds, "sisarm");
           label1.Text = DBFds.Tables[ 0 ].Rows.Count.ToString();

            mysql_connection.Open();
            MySqlDataAdapter mysqlAd = new MySqlDataAdapter("SELECT * FROM sisarm",mysql_connection);
            mysqlAd.Fill(MySQLds, "sisarm");

            foreach (DataRow row in DBFds.Tables["sisarm"].Rows)
            {

                MySQLds.Tables[ 0 ].NewRow();

              MySQLds.Tables[ 0 ].Rows.Add(row.ItemArray);

            }

            MySqlCommandBuilder cmd = new MySqlCommandBuilder(mysqlAd);
            mysqlAd.Update(MySQLds, "sisarm");
            label2.Text += "<br />MySql myTables: " + MySQLds.Tables[ 0 ].Rows.Count.ToString() + " records found <hr />";

        
        }
проблема в том что при загрузке из большой бд программка виснет .... и в результате ничего (((
читал где то что dbf можно разбить на несколько частей и потом с ним работать.....
подскажите как можно решить данную проблему
...
Рейтинг: 0 / 0
Подскажите как работать под .net с большими размерами dbf
    #36631922
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergiu.cчитал где то что dbf можно разбить на несколько частей и потом с ним работать.....
подскажите как можно решить данную проблемуБейте по recno() в цикле:
Код: plaintext
OleDbDataAdapter dbfAd = new OleDbDataAdapter("SELECT * FROM sisarm where between(recno(),1000,2000)", DBFconn);
Это, конечно, если дбфку никто не меняет во время заливки. И замените звездочку на явный список полей.
...
Рейтинг: 0 / 0
Подскажите как работать под .net с большими размерами dbf
    #36631935
sergiu.c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок попробую спс
...
Рейтинг: 0 / 0
Подскажите как работать под .net с большими размерами dbf
    #36631973
sergiu.c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
результат есть )))) правда почему то показывает 1001 при испольщование
Код: plaintext
1.
OleDbDataAdapter dbfAd = new OleDbDataAdapter("SELECT * FROM S_NAM_PR where between(recno(),1000,2000)", DBFconn);
поищу про recno и буду дальше усовершенствовать .Но результат все равно есть чем закончится все это напишу :)
...
Рейтинг: 0 / 0
Подскажите как работать под .net с большими размерами dbf
    #36632115
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergiu.cрезультат есть )))) правда почему то показывает 1001 при испольщование [src]... between(recno(),1000,2000) ...
А сколько должно быть если не 1001?
...
Рейтинг: 0 / 0
Подскажите как работать под .net с большими размерами dbf
    #36632539
sergiu.c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разобрался все правильно так и должно быть 1001
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите как работать под .net с большими размерами dbf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]