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

Вниз

insert into....select   Найти похожие ветки 

 
denis24   (2004-11-10 16:01) [0]

Почему кагда я пытаюсь вы полнить сабж через Adoquery пишет"Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной опрерации"?


 
Johnmen ©   (2004-11-10 16:05) [1]

Как пытаешься?


 
diabolik_krsk   (2004-11-10 16:06) [2]

Код приведи, который пишешь.


 
denis24   (2004-11-10 16:15) [3]

DataModule2.ADOQueryDiagnoz_tblrecomendations.close;
               DataModule2.ADOQueryDiagnoz_tblrecomendations.sql.clear;
               DataModule2.ADOQueryDiagnoz_tblrecomendations.sql.add("insert into temp_recomendations ");
               DataModule2.ADOQueryDiagnoz_tblrecomendations.sql.add("select tblDiagnoz_Recomendations.id_recomendations, tblRecomendations.name_recomendations  from tblRecomendations, tblDiagnoz_Recomendations");
               DataModule2.ADOQueryDiagnoz_tblrecomendations.sql.add("where tblDiagnoz_Recomendations.id_diagnoz=:p1 and ");
               DataModule2.ADOQueryDiagnoz_tblrecomendations.sql.add("tblRecomendations.id_recomendations=tblDiagnoz_Recomendations.id_ recomendations");
               DataModule2.ADOQueryDiagnoz_tblrecomendations.Parameters.ParamByName ("p1").Value :=DataModule2.ADOQueryMain_diagnoz.fieldbyname("id_diagnoz").AsInteger;
               DataModule2.ADOQueryDiagnoz_tblrecomendations.Open;


 
Johnmen ©   (2004-11-10 16:27) [4]

А почему Open ? Что "открыть" предполагаешь ?
PS F1 помогает...


 
msguns ©   (2004-11-10 16:27) [5]

Переведем на русский эту абракадабру:

INSERT INTO Temp
  SELECT tblD.id, tblR.Name FROM tblR, tblD
  WHERE tblD.id=:p1 AND tblR.id=tblD.id

Получаем запрос на вставку.

Затем читаем (после перевода, ессно):
  ParamByName("p1").value := FieldByName(id).AsInteger;
 
и, наконец,

 OPEN

!!!

А ведь причина ошибки, ИМХО, в том, что за частоколом кода (все эти DataModule2... и зубодробительные названия таблиц и полей) ни хрена не видно этой опечатки.

Грустно, девочки ;((


 
denis24   (2004-11-10 16:28) [6]

Еще запрос
sql.add("SELECT id_main, count(id_diagnoz) AS count_diagnoz INTO temp");
sql.add("FROM tblmain_diagnoz GROUP BY id_main");

на первой строке пишет accses violation on addres... in module
msjet40.dll
Потом пишет сабж.Но всеравно создает таблицу temp  с нужными данными.
Стоит m_dac 2.7
База access2000
BDE 5.01


 
Соловьев ©   (2004-11-10 16:31) [7]


> BDE 5.01

Мдя... ADO юзай.


 
Соловьев ©   (2004-11-10 16:32) [8]


> DataModule2.ADOQueryDiagnoz_tblrecomendations.Open;

Хотя АДО... :)


 
Johnmen ©   (2004-11-10 16:38) [9]

>denis24   (10.11.04 16:28) [6]
>SELECT ... INTO ... FROM ... GROUP BY ...

Где ты этого начитался?


 
denis24   (2004-11-10 16:42) [10]

Посыпаю голову пеплом.........
Но при "select into ....." access violation все равно остался


 
Соловьев ©   (2004-11-10 16:47) [11]


> >denis24   (10.11.04 16:28) [6]
> >SELECT ... INTO ... FROM ... GROUP BY ...
>
> Где ты этого начитался?

это нормально :) Сохраняются результаты в таблицу.


 
Соловьев ©   (2004-11-10 16:48) [12]


> DataModule2.ADOQueryDiagnoz_tblrecomendations.sql.add("insert
> into temp_recomendations ");

DataModule2.ADOQueryDiagnoz_tblrecomendations.sql.add("insert
into temp_recomendations (field1, field2)");


 
denis24   (2004-11-10 17:02) [13]

Соловьев дал
http://delphimaster.net/view/3-1099920344/


 
Johnmen ©   (2004-11-10 17:05) [14]


> Соловьев ©   (10.11.04 16:47) [11]
> это нормально :) Сохраняются результаты в таблицу.


Вот мне и интересно, где про это написано. А то, видимо, что-то упустил...:)


 
Соловьев ©   (2004-11-10 17:08) [15]


> Вот мне и интересно, где про это написано. А то, видимо,
> что-то упустил...:)

хелп по Access :)


 
denis24   (2004-11-10 17:12) [16]

to Соловьев ©   (10.11.04 16:48) [12]
Это да
но перед этим создать ее нужно а потом в цикле забивать.....


 
Соловьев ©   (2004-11-10 17:14) [17]


> Это да
> но перед этим создать ее нужно а потом в цикле забивать.....

В смысле? Чего-то я не догоню... Т.е. ты вставляешь в таблицу которой нет? Если да, то почему??????????????????????????????????????


 
Vlad ©   (2004-11-10 17:15) [18]


> Вот мне и интересно, где про это написано. А то, видимо,
> что-то упустил...:)

у меня этот файл называется JETSQL35.HLP


 
denis24   (2004-11-10 17:23) [19]

если делать без select...into.....from....group by
то ,если я правильео понимаю делаем так
create table temp (id_diagnoz numeric(16,0),count_diagnoz numeric(16,0))
.
.
adoquery1.sql.add(select id_main, count(id_diagnoz) AS count_diagnoz FROM tblmain_diagnoz GROUP BY id_main)
.
.
while adoquery1.eof=false do
.
.
adoquery2.sql.add("insert into temp values(adoquery1.fieldbyname("id_diagnoz").asinteger+","+adoquery1.fieldbyname("name_diagnoz").asinteger

adoquery2.execsql
adoquery1.next;
.
.
..


 
Соловьев ©   (2004-11-10 17:29) [20]


> если делать без select...into.....from....group by
> то ,если я правильео понимаю делаем так
> create table temp (id_diagnoz numeric(16,0),count_diagnoz
> numeric(16,0))
> .
> .
> adoquery1.sql.add(select id_main, count(id_diagnoz) AS count_diagnoz
> FROM tblmain_diagnoz GROUP BY id_main)
> .
> .
> while adoquery1.eof=false do
> .
> .
> adoquery2.sql.add("insert into temp values(adoquery1.fieldbyname("id_diagnoz").asinteger+","+adoquery1.fieldbyname("name_diagnoz").asinteger
>
> adoquery2.execsql
> adoquery1.next;
> .
> .
> ..

А какого????? Блин одна конструкция select...into.....from....group by все это делает.


 
denis24   (2004-11-10 17:52) [21]

так да!
но вылетает access violation
Может настройки какието adoconnection(они у меня по умолчанию)


 
Johnmen ©   (2004-11-10 17:53) [22]

>Соловьев ©   (10.11.04 17:08) [15]
>хелп по Access :)

>Vlad ©   (10.11.04 17:15) [18]
>у меня этот файл называется JETSQL35.HLP

Благодарю. Аксеса у меня нет, а файл есть...:)


 
Соловьев ©   (2004-11-10 18:04) [23]


> но вылетает access violation

Приведи полный код при использовании select...into.....from....group by


 
msguns ©   (2004-11-10 18:05) [24]

>Johnmen ©   (10.11.04 17:53) [22]
>>Vlad ©   (10.11.04 17:15) [18]
>>у меня этот файл называется JETSQL35.HLP
>Благодарю. Аксеса у меня нет, а файл есть...:)

Блин ! А у меня есть аксес, но нет файла !!!
Если не трудно, намыль, Жень мне этот долбанный JETSQL35(Лучше 40). Все мои попытки найти его в MSDN ни к чему не привели ;((
Или руки кривые, или глаза косые. А скорее всего и то и другое ;))
Вот и приходится мучится интуитивно. Например, вот прорюхал, что для контекстного поиска надо в ADO давать
 Field LIKE "John%",

а в самом аксесе
 Field LIKE "John*"

Ну супер просто !!! Час гробился ! Без доки-то ! Хэлп по аксесу
это вообще что-то. Предполагается, что прогер (или узер ?) все должен делать через конструктор или его изумительных мастеров.

Сори за офтоп, конечно, но неудобно ветку рожать по этому вопросу - люди уже смеются небось ;))


 
Соловьев ©   (2004-11-10 18:14) [25]


> JETSQL35.HLP

jetsql40.chm поисчи


 
msguns ©   (2004-11-10 18:22) [26]

>Соловьев ©   (10.11.04 18:14) [25]

Блин, поставил сидюк с инсталляхой офиса и там нашел !!!!
Почему при инстале не переписался ума не приложу. Вроде непьяный был. Мне каааэтся ;)))


 
msguns ©   (2004-11-10 18:24) [27]

Удалено модератором
Примечание: Личная переписка


 
Соловьев ©   (2004-11-10 18:24) [28]

Удалено модератором
Примечание: Личная переписка


 
msguns ©   (2004-11-10 18:26) [29]

Удалено модератором
Примечание: Личная переписка


 
Соловьев ©   (2004-11-10 18:27) [30]

Удалено модератором
Примечание: Личная переписка


 
denis24   (2004-11-10 19:00) [31]

SELECT tblMain_diagnoz.id_main, Count(tblMain_diagnoz.id_diagnoz) AS [Count_diagnoz] into temp FROM tblmain_diagnoz GROUP BY tblmain_diagnoz.id_main

Взят из конструктора access в нем работает на ура


 
Соловьев ©   (2004-11-10 19:04) [32]

Это понятно, а делфи как ты его запускаешь - код только полный.


 
denis24   (2004-11-10 19:09) [33]

DataModule2.ADOQuery2.close;
               DataModule2.ADOQuery2.sql.Clear;
               DataModule2.ADOQuery2.SQL.Add("SELECT tblMain_diagnoz.id_main, Count(tblMain_diagnoz.id_diagnoz) AS [Count_diagnoz] into temp");
               DataModule2.ADOQuery2.sql.add("FROM tblmain_diagnoz GROUP BY tblmain_diagnoz.id_main");
               DataModule2.ADOQuery2.ExecSQL;


 
Соловьев ©   (2004-11-10 19:20) [34]


> DataModule2.ADOQuery2.ExecSQL;

DataModule2.ADOQuery2.Open;


 
denis24   (2004-11-10 19:49) [35]

Дебугер показывает эту ошибку на первой строке запроса,не доходя до open.Без count все работает


 
denis24   (2004-11-10 20:02) [36]

все решил
удалил и создал adoquery


 
denis24   (2004-11-11 10:27) [37]

Эта ошиба выскакивает только когда запускаю проект в среде делфи,
при запуске чистого экзешника ее нет...



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

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

Наверх





Память: 0.53 MB
Время: 0.031 c
3-1100437995
denis24
2004-11-14 16:13
2004.12.12
паковка *.mdb


1-1101847008
noname:)
2004-11-30 23:36
2004.12.12
Алгоритм шифрования DES


8-1094843851
KADAN
2004-09-10 23:17
2004.12.12
Длительность музыкальных и видеофайлов


3-1100619712
~Blade~
2004-11-16 18:41
2004.12.12
Обновление таблицы в адо


14-1100882555
StellMan
2004-11-19 19:42
2004.12.12
Скока платят модераторам





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский