Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Вниз

после выполнения SQL запроса результат не отображается   Найти похожие ветки 

 
Алексей   (2004-08-09 16:25) [40]

Val ©  
тоесть сама сетка отцепляется, и если после выполнения запроса её обратно прицепить програмно, то всё заработает? МЫСЛЬ. надо попробовать.


 
Соловьев ©   (2004-08-09 16:26) [41]


> [40] Алексей   (09.08.04 16:25)

сама она не отцепляется.


 
Алексей   (2004-08-09 16:33) [42]

Дак и я не отцеплял, вроде... :)


 
Sergey13 ©   (2004-08-09 16:33) [43]

Есть определенный запрос с полями вывода. На нем стоит грид с прописанными в дизайне полями и т.д. Вдруг в запросе меняется ВСЕ. Даже если сам по себе запрос корректен...


 
Соловьев ©   (2004-08-09 16:35) [44]


> Дак и я не отцеплял, вроде... :)

создай новое приложение положи грид, сорс,кверю и две кнопки.
Свжи сорс с кверей. а грид с сорсом. А по кнопкам распиши открытие разных таблиц типа

procedure TForm1.Button1Click(Sender: TObject);
begin
   with Query1 do
   begin
       if active then Close;
       SQL.Clear;
       SQL.Add("select * from  table1");
       Open;
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   with Query1 do
   begin
       if active then Close;
       SQL.Clear;
       SQL.Add("select * from  table2");
       Open;
   end;
end;

запусти и попробуй.


 
Алексей   (2004-08-09 16:45) [45]

Снимаю Шляпу.
Всё работает.
где ж я тогда промазал???


 
Алексей   (2004-08-09 16:48) [46]

Для Sergey13 ©
так в гриде я дизайн и не прописывал. а в примере Уважаемого Соловьев © всё работает.


 
Алексей   (2004-08-09 16:50) [47]

Для Соловьев ©
если можно, вчём точно моя ошибка, хотелось бы понять, а не тупо скопировать код кнопки.


 
Sergey13 ©   (2004-08-09 16:52) [48]

2[46] Алексей   (09.08.04 16:48)
>так в гриде я дизайн и не прописывал
А в датасете?


 
Алексей   (2004-08-09 16:58) [49]

Для Sergey13 ©
А где там прописал? Нет вроде...


 
Sergey13 ©   (2004-08-09 17:02) [50]

2[49] Алексей   (09.08.04 16:58)
>А где там прописал? Нет вроде...
Двойной клик на квери


 
Алексей   (2004-08-09 17:05) [51]

и что прикольно... эти кнопочки и мой грид оживляют (а старая по прежнему убивает)


 
Алексей   (2004-08-09 17:09) [52]

А... так там я уже убрал нафиг... всё равно убивает... киллер я наверное профессиональный... факт... чтото я намудрил с обращением к квери, может Соловьев © подскажет, а то я уже не врубаюсь сам...


 
Соловьев ©   (2004-08-09 17:17) [53]

код приведи ввесь


 
Алексей   (2004-08-09 17:21) [54]

Всего Запроса?


 
Соловьев ©   (2004-08-09 17:24) [55]

проги, ну и запросов


 
Алексей   (2004-08-09 17:33) [56]

Соловьев ©
По Вашим кнопочкам всё заработало, а мой запрос раньше выглядел так
Формируем условия поиска и присваиваем результат переменной s_GreatFilter
DataModule2.Query1.Close;
DataModule2.Query1.SQL.Clear;
DataModule2.Query1.SQL.Add("SELECT M.id");
DataModule2.Query1.SQL.Add("FROM "Main_FIO.db" As M, "Adress.db" As A, "Pasport.db" As P, "Rozisknoe_Delo.db" As RD");

Формируем условия поиска и присваиваем результат переменной s_GreatFilter

DataModule2.Query1.SQL.Add("WHERE " + s_GreatFilter + ";");
DataModule2.Query1.Open;
в таком порядке.


 
Соловьев ©   (2004-08-09 17:34) [57]


> DataModule2.Query1.SQL.Add("FROM "Main_FIO.db" As M, "Adress.db"
> As A, "Pasport.db" As P, "Rozisknoe_Delo.db" As RD");

DataModule2.Query1.SQL.Add("FROM "Main_FIO.db" As M");


 
Алексей   (2004-08-09 17:35) [58]

Ой... В Первый раз "Формируем условия поиска и присваиваем результат переменной s_GreatFilter" этого там нет, этол дальше.
Сам запрос с Вашими кнопками работает корректно.


 
Алексей   (2004-08-09 17:37) [59]

И что там не так?


 
Алексей   (2004-08-09 17:40) [60]

Много лишних таблиц?


 
Алексей   (2004-08-09 17:50) [61]

Вот сам код запроса, у меня некоторые его части закоментированы, искал ошибку


procedure TForm6.Button1Click(Sender: TObject);
var
s_GreatFilter, s_Filter: String;
begin
s_GreatFilter := "";
Button1.Enabled := False;
//-------------------------------
//-------------------------------
//Работаем с таблицей Main_FIO
//
If Form6.Edit1.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND" + "(" + "M.Familiya = " + Form6.Edit1.Text + ")"
else s_GreatFilter := "(" + "M.Familiya = " + Form6.Edit1.Text + ")";

If Form6.Edit2.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND" + "(" + "M.Imiya LIKE "%" + Form6.Edit2.Text + "%"" + ")"
else s_GreatFilter := "(" + "M.Imiya LIKE "%" + Form6.Edit2.Text + "%"" + ")";

If Form6.Edit3.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND " + "(" + "M.Pol LIKE "" + Form6.Edit3.Text + """ + ")"
else s_GreatFilter := "(" + "M.Pol LIKE "" + Form6.Edit3.Text + """ + ")";
If Form6.DateTimePicker1.Checked = true then If Form6.DateTimePicker2.Checked = false
then begin
  if s_GreatFilter <> "" then s_GreatFilter := s_GreatFilter + " AND " + "(" +
   "M.DataRojdeniya = " + """ + FormatDateTime("dd.mm.yyyy",Form6.DateTimePicker1.Date) +
    """ + ")"
  else s_GreatFilter := "(" + "M.DataRojdeniya = " + """ +
   FormatDateTime("dd.mm.yyyy",Form6.DateTimePicker1.Date) + """ + ")"
 end else begin
  if s_GreatFilter <> "" then s_GreatFilter := s_GreatFilter + " AND " + "(" +
   "M.DataRojdeniya <=" + """ + FormatDateTime("dd.mm.yyyy",Form6.DateTimePicker1.Date) + """ +
    " AND " + "M.DataRojdeniya >=" + """ + FormatDateTime("dd.mm.yyyy",Form6.DateTimePicker2.Date)
     + """ + ")"
  else s_GreatFilter := "(" + "M.DataRojdeniya <=" + """ +
   FormatDateTime("dd.mm.yyyy",Form6.DateTimePicker1.Date) + """ + " AND " +
    "M.DataRojdeniya >=" + """ + FormatDateTime("dd.mm.yyyy",Form6.DateTimePicker2.Date) +
     """ + ")";
 end;

//-------------------------------
//Закончили работу с таблицей Main_FIO
//
//Начинаем работу с таблицей Adres
//
If Form6.Edit9.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND " +  "(" + "A.A_TipAdresa LIKE "" + Form6.Edit9.Text + """ +
  " AND " + "M.id = A.A_Main_id" + ")"
else s_GreatFilter := "(" + "A.A_TipAdresa LIKE "" + Form6.Edit9.Text + """ +
 " AND " + "M.id = A.A_Main_id" + ")";
If Form6.Edit10.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND " +  "(" + "A.A_NasPunkt LIKE "" + Form6.Edit10.Text + """ +
  " AND " + "M.id = A.A_Main_id" + ")"
else s_GreatFilter := "(" + "A.A_NasPunkt LIKE "" + Form6.Edit10.Text + """ +
 " AND " + "M.id = A.A_Main_id" + ")";
If Form6.Edit11.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND " +  "(" + "A.A_Adres LIKE "" + Form6.Edit11.Text + """ +
  " AND " + "M.id = A.A_Main_id" + ")"
else s_GreatFilter := "(" + "A.A_Adres LIKE "" + Form6.Edit11.Text + """ +
 " AND " + "M.id = A.A_Main_id" + ")";
If Form6.Edit12.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND " +  "(" + "A.A_Dom LIKE "" + Form6.Edit12.Text + """ +
  " AND " + "M.id = A.A_Main_id" + ")"
else s_GreatFilter := "(" + "A.A_Dom LIKE "" + Form6.Edit12.Text + """ +
 " AND " + "M.id = A.A_Main_id" + ")";
If Form6.Edit13.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND " +  "(" + "A.A_Kvartira LIKE "" + Form6.Edit13.Text + """ +
  " AND " + "M.id = A.A_Main_id" + ")"
else s_GreatFilter := "(" + "A.A_Kvartira LIKE "" + Form6.Edit13.Text + """ +
 " AND " + "M.id = A.A_Main_id" + ")";
If Form6.Edit14.Text <> "" then if s_GreatFilter <> "" then s_GreatFilter :=
 s_GreatFilter + " AND " +  "(" + "A.A_Telefon LIKE "" + Form6.Edit14.Text + """ +
  " AND " + "M.id = A.A_Main_id" + ")"
else s_GreatFilter := "(" + "A.A_Telefon LIKE "" + Form6.Edit14.Text + """ +
 " AND " + "M.id = A.A_Main_id" + ")";
//Закончили работу с таблицей Adres
//
//Начинаем работу с таблицей Pasport
//
...
...
...

//Записываем полученное условие отбора в запрос Query1 и передаём в фильтр Main_FIO
//
If s_GreatFilter <> "" then
with DataModule2.Query1 do
  begin
      if active then Close;
      SQL.Clear;
      SQL.Add("SELECT M.id");
      SQL.Add("FROM "Main_FIO.db" As M, "Adress.db" As A, "Pasport.db" As P, "Rozisknoe_Delo.db" As RD");
      SQL.Add("WHERE " + s_GreatFilter);
      Open;
  end;
 begin
end;
//смотрю текст SQL запроса
Form1.Memo2.Text := DataModule2.Query1.SQL.Text;
//------------------------------------------------------------------------------
Close;
end;


Примерно так


 
Соловьев ©   (2004-08-09 17:54) [62]


> Close;

Зачем?


> SQL.Add("FROM "Main_FIO.db" As M, "Adress.db" As A, "Pasport.db"
> As P, "Rozisknoe_Delo.db" As RD");

если ты накладываешь условие на таблицы, то накладывай и на список таблиц


 
Алексей   (2004-08-09 17:59) [63]

и если можно синтаксис для LIKE чтобы определять совпадения по части слова, как его в программе записать
поле LIKE "%слово%"
правильно?


 
Алексей   (2004-08-09 18:02) [64]

Для Соловьев ©
ну...
>Close;
а как редактировать SQL на открытой таблице?
>если ты накладываешь условие на таблицы, то накладывай и на список таблиц
это про какие условия?


 
Алексей   (2004-08-09 18:23) [65]

В общем, в итоге понятен принцип (а причину определит время) как оживить мой грид. Большое спасибо всем кто откликнулся и помогал решать мою проблему. Было очень приятно с Вами общаться. Если в коде запроса что я привёл увидите ошибку, если не трудно, отпишите на мыло или здесь. До свидания.



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.58 MB
Время: 0.04 c
1-1092729948
Russko
2004-08-17 12:05
2004.09.05
PageControl и горячие клавищи


14-1092881221
Alibaba
2004-08-19 06:07
2004.09.05
Вот и лето прошло...


1-1093168480
Jiurasrasr
2004-08-22 13:54
2004.09.05
Как обеспечить чтобы окно было повнрх всех!


14-1092835505
1g0r
2004-08-18 17:25
2004.09.05
Вот случайно дропнул базу в MySQL - иду топиться


4-1090515462
AD_infiniTUM
2004-07-22 20:57
2004.09.05
Как рисовать цветом кнопки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский