Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связать базу Access при помощи ado 
:(
    Опции темы
FlaGmaN
Дата 25.6.2007, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 2.9.2006
Где: Москва

Репутация: нет
Всего: нет



Здравствуйте. работаю через ado с базой. я в этом не селен.....

Тытаюсь сделать так чтобы при нажатии кнопки меню происходил коннект с базой ну и далее по плану..

нашел такой код
Код

procedure TFormtelef.ConnectBase;
var
  Reg:TRegistry;
  i: Integer;
begin
  ADOConnection1.Close;

  Reg:=TRegistry.Create;
  try
    Reg.RootKey:=HKEY_CURRENT_USER;
    if Reg.OpenKey('C:\',True) then
       begin
        try
         ADOConnection1.ConnectionString:= Reg.ReadString('ConnectBase');


       if ADOConnection1.ConnectionString <> '' then
           begin
           ADOConnection1.Open;
           for i:= 0 to (ADOConnection1.DataSetCount - 1) do
              ADOConnection1.DataSets[i].Active:= True;

           end;
         except
        end;
        end;

  finally
   Reg.Free
  end;


end;
      
procedure TFormtelef.EditConnectBase;
var
  Reg:TRegistry;
begin
  ADOConnection1.Close;

  if EditConnectionString(ADOConnection1) then
    begin
     Reg:= TRegistry.Create;
      try
       Reg.RootKey:= HKEY_CURRENT_USER;
       if not  Reg.OpenKey('..........................', True) then
          begin
          Reg.CreateKey('................................)
          end;
       Reg.OpenKey('..........., True);
       Reg.WriteString('ConnectBase', ADOConnection1.ConnectionString);
       Reg.CloseKey;
       ConnectBase();
     finally
      Reg.Free
    end;
  end;

}


программа стапориться на строчке if EditConnectionString(ADOConnection1) then.

если кто знает где ошибка или может написать код правельный прошу помощь

PM MAIL WWW ICQ   Вверх
FlaGmaN
Дата 25.6.2007, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 2.9.2006
Где: Москва

Репутация: нет
Всего: нет



да и еще вопрос. я провожу сортировку столбца таким способом
Код

adoquery1.Sort:=dbgrid1.Columns[1].FieldName;


Это что называется сортировка А->Я. а кто знает как сделать обратную.
PM MAIL WWW ICQ   Вверх
Vas
Дата 25.6.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Добавить слово DESC.
Код

adoquery1.Sort:=dbgrid1.Columns[1].FieldName+' DESC'; 



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
FlaGmaN
Дата 25.6.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 2.9.2006
Где: Москва

Репутация: нет
Всего: нет



спасибо помогло. 
PM MAIL WWW ICQ   Вверх
FlaGmaN
Дата 6.7.2007, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 2.9.2006
Где: Москва

Репутация: нет
Всего: нет



еще вопрос по поводу сортировки, мне надо сделать атк чтобы сортировка производилась по нажатию на имя столбца. ну примерно так же реализованно в access. сортировка dbgid. Может тко знает какое там свойство или ваше как делать? smile  
PM MAIL WWW ICQ   Вверх
sw04
Дата 8.7.2007, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 22.1.2007
Где: Ufa

Репутация: нет
Всего: 18



Цитата(FlaGmaN @  6.7.2007,  13:36 Найти цитируемый пост)
Может тко знает какое там свойство или ваше как делать?

Приведу сишный код. Переделать не должно составить труда:
Код

void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column)
{
if (ADOTable1->Active)
 if ((ADOTable1->Sort.Pos(Column->FieldName) > 0) && (ADOTable1->Sort.Pos("ASC") > 0))
    ADOTable1->Sort = Column->FieldName + " DESC";
  else ADOTable1->Sort = Column->FieldName + " ASC";
}



Цитата(FlaGmaN @  25.6.2007,  11:50 Найти цитируемый пост)
программа стапориться на строчке if EditConnectionString(ADOConnection1) then.

а проверь состояние Dataset...должно быть активным.


--------------------
<удалено администрацией>
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.