На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Описание SQL-языка для ADO , Где почитать?
    А не подскажет-ли многоуважаемый all, где почитать про расширения SQL-языка используемого компонентами ADO по сравнению со стандартным SQL.
    Раньше использовал в основном SQL-сервер Interbase, а тут в одном из ответов встретил 'Select top 1 * From MyTable' - заинтересовало.
      На это точного ответа нет, поскольку сам АДО просто посредник, также как и БДЕ, то есть синтаксис будет зависить от провайдера.
      По JET смотри справку из офиса Jetsql40.chm, по другим соотвественно в других источниках.
      JET SQL поддерживает предикат TOP
        Цитата
        По JET смотри справку из офиса Jetsql40.chm, по другим соотвественно в других источниках.

        За Jetsql40.chm спасибо.
        А на "другие источники" по "Microsoft OLE DB Provider for SQL Server" (SQLOLEDB.1) и "Microsoft OLE DB Provider for ODBC Drivers" (MSDASQL.1) наводочку не дадите?
          ADO не имеет собственного синтаксиса, для MS Access смотри файл
          C:\Program Files\Common Files\Microsoft Shared\Office10\1033\JETSQL40.CHM

          Для других баз данных - хэлп по их синтаксису.
            Цитата (Петрович @ 26.11.03, 11:35)
            А на "другие источники" по "Microsoft OLE DB Provider for SQL Server" (SQLOLEDB.1) и "Microsoft OLE DB Provider for ODBC Drivers" (MSDASQL.1) наводочку не дадите?

            Насколько я понимаю, в данном случае речь идет об MS SQL Server
            Эта документация тоже доступна, только брать с сайта Миксофта, порядка 40 мб, но очень хорошо сделано.
              Если MS SQL Server 2000 то справку смотри где-то здесь:

              c:\Program Files\Microsoft SQL Server\80\Tools\Books\tsqlref.chm
                Всем большое спасибо.
                  А по foxpro
                    Цитата (Alex-Co @ 30.11.03, 11:29)
                    А по foxpro

                    Ищи в документации по foxpro
                      Цитата (Alex-Co @ 30.11.03, 19:29)
                      А по foxpro

                      А какой доступ до ФоксПро, все определяется этим, знаешь через что, то и смотришь.
                        Цитата
                        Anatoly Podgoretsky, 1.12.03, 09:25
                        А какой доступ до ФоксПро, все определяется этим, знаешь через что, то и смотришь


                        Дык он же сказал - через ADO....
                          АДО это не достаточно, это определяется провайдером или драйвером. Конечно возможно встроеный интерпритор в АДО преобразует реляционные предложения в навигационные методы, но возможно это будет делать другой провайдер. АДО только посредник типа БДЕ
                            Пардон. Уточню за Alex-co (да простит он меня).
                            Ему нужно в одном SQL-запросе построить объединение (JOIN) в которое включаются данные из двух таблиц. Одна таблица DBASE, другая VisualFoxPro.
                            Для доступа к данным он использует ADO.
                            Проблемка в том, что DBASE-таблица читается поставщиком данных "Microsoft OLE DB Provider for ODBC Drivers", а VFoxPro - "Microsoft OLE DB Provider for Visual FoxPro". К сожалению, воспользоваться одним поставщиком нет возможности - ни один из известных поставщиков не понимает оба формата sad.gif.
                            Так вот, он не знает как в одном SQL запросе сослаться на два разных TADOConnection (или поставщика). В BDE подобное без проблем, но BDE вообще не умеет работать с VisualFoxPro-файлами
                              Цитата (Петрович @ 2.12.03, 13:38)
                              Проблемка в том, что DBASE-таблица читается поставщиком данных "Microsoft OLE DB Provider for ODBC Drivers", а VFoxPro - "Microsoft OLE DB Provider for Visual FoxPro". К сожалению, воспользоваться одним поставщиком нет возможности - ни один из известных поставщиков не понимает оба формата

                              Совместное использование стопорится если используются индексы и мемо поля
                              без оных все окей.
                              Для Excel-я без разницы где создан файл с расширением .dbf кушает как милый только проблемы с добавлением ,удалением и поддержкой индексов (.mdx || .cdx)
                              Написал и понял что только показывает правельно а все остальное юююю.
                              А BDE таблицы VFoxPro покрайней мере v5 открывает без проблем.
                                Ну если-бы все так просто, то я-бы и не вопрошал.
                                Уж не знаю, какой версией VFoxPro были созданы имеющиеся файлы, но только ни BDE, ни Excel из MS Office XP, их не берет. При этом нет там ни Memo-полей ни индексов.
                                Работать с ними получается только через "Microsoft OLE DB Provider for Visual FoxPro" который был стянут с MSDN Visual FoxPro.
                                Да, если интересно, у этих DBF-файлов, первый байт заголовка равен $30 - такого я ни в одном описании не встречал.
                                  Использую конект
                                  1.
                                  Provider=MSDASQL.1;Persist Security Info=False;Connect Timeout=15;Extended Properties="Driver={Microsoft FoxPro VFP Driver (*.dbf)};UID=;SourceDB=c:\FCB\BASE;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;";Locale Identifier=1049

                                  Таблица открывается (первый байт заголовка равен $30)

                                  Второй вариант тоже открывает
                                  2.
                                  Provider=MSDASQL.1;Persist Security Info=False;Connect Timeout=15;Extended Properties="CollatingSequence=ASCII;DBQ=c:\FCB\BASE;DefaultDir=c:\FCB\BASE;Deleted=0;Driver={Microsoft dBase Driver (*.dbf)};DriverId=533;FIL=dBase 5.0;FILEDSN=C:\Program Files\Common Files\ODBC\Data Sources\ttt.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Statistics=0;Threads=3;UID=admin;UserCommitSync=Yes;";Locale Identifier=1049
                                    В обоих вариантах использую Microsoft OLE DB Provider for ODBC Drivers
                                      Цитата (Bas @ 2.12.03, 16:44)
                                      Для Excel-я без разницы где создан файл с расширением .dbf кушает как милый только проблемы с добавлением ,удалением и поддержкой индексов (.mdx || .cdx)

                                      Далеко не так, Эксель нормально работает только с dBase IV, в остальных случаях как повезет. По крайней мере форматы dBase VII и Visual FoxPro (подчеркиваю именно форматы, а не таблицы созданные там) не берет.
                                        Цитата (Anatoly Podgoretsky @ 3.12.03, 08:59)
                                        Цитата (Bas @ 2.12.03, 16:44)
                                        Для Excel-я  без разницы где создан файл с расширением .dbf кушает как милый только проблемы с добавлением ,удалением и поддержкой индексов (.mdx || .cdx)

                                        Далеко не так, Эксель нормально работает только с dBase IV, в остальных случаях как повезет. По крайней мере форматы dBase VII и Visual FoxPro (подчеркиваю именно форматы, а не таблицы созданные там) не берет.

                                        Согласен таблицу Visual FoxPro 6 не понимает (первый байт таблицы $30)
                                        они изменили в хидере определение полей
                                          Ребят спасибо за такие развернутые ответы. Понимаете в чем дело, была написана программа. Я уже ехал за деньгами и тут в друг заказчик сообщает, что теперь одна из подгружаемых таблиц будет в формате FoxPro. Программа полностью написана на BDE, переписывать ее на ADO скажу честно нет, не времени не желания. Можно ли просто отобразить таблицу FoxPro без ADO, если нет, то, что такое C:\Program Files\Common Files\ODBC\Data Sources\ttt.dsn
                                            БДЕ не имеет ограничения, работать можно с чем угодно, или с помощью родных драйверов (очень мало) или через SQL Links c SQL серверами (любыми, если есть драйвер) или через ODBC тоже если есть ODBC драйвер.
                                            С Фокспро можно работать родным драйвером (поддержка до версии 2.5, можно и выше если формат не выходит за пределы версии) , но это не рекомендуется, поскольк Борланд прямо сказал, ограничено и только ReadOnly, остальное на свой страх и риск. Правильнее найти нужный ODBC драйвер, большинство из которых в той или иной степени кривы.

                                            Когда говорят, что таблицы формата FoxPro, по сути ни о чем не говорят. Но даже при указании точной версии, остаются не ясными вопросы с кодировкой, используемыми полями и что наиболее важно, так это индексы. Индексы ФокПро никто кроме него самого не в состоянии поддержать по полной, ни один драйвер, поскольку они могут быть построены на пользовательских функциях.
                                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                            0 пользователей:


                                            Рейтинг@Mail.ru
                                            [ Script execution time: 0,0500 ]   [ 16 queries used ]   [ Generated: 15.07.25, 15:03 GMT ]