Форум: "Прочее";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
Вниззапрос SQL Найти похожие ветки
← →
Ирг (2009-09-25 11:06) [0]Помогите разобраться !!!
DataModule2.ADOQuery2.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\;Extended Properties=dBASE IV;Persist Security Info=False";
DataModule2.ADOQuery2.Close;
DataModule2.ADOQuery2.SQL.Clear;
DataModule2.ADOQuery2.SQL.Add("declare @var1 int, @var2 int, @quer1 int, @quer2 int");
DataModule2.ADOQuery2.SQL.Add("set @var1 = "SELECT IDn, f, i, o, dr FROM Atab IN "1" "dBASE IV;" ");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "2" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "3" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "4" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "5" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "6" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "7" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "8" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "9" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "10" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "11" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, f, i, o, dr FROM Atab IN "12" "dBASE IV;""");
DataModule2.ADOQuery2.SQL.Add("set @var2 = "SELECT IDn, v, m, s, f FROM Btab IN "1" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add(" UNION All SELECT IDn, v, m, s, f FROM Btab IN "2" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add(" UNION All SELECT IDn, v, m, s, f FROM Btab IN "3" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add(" UNION All SELECT IDn, v, m, s, f FROM Btab IN "4" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add(" UNION All SELECT IDn, v, m, s, f FROM Btab IN "5" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, v, m, s, f FROM Btab IN "6" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, v, m, s, f FROM Btab IN "7" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, v, m, s, f FROM Btab IN "8" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, v, m, s, f FROM Btab IN "9" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, v, m, s, f FROM Btab IN "10" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, v, m, s, f FROM Btab IN "11" "dBASE IV;"");
DataModule2.ADOQuery2.SQL.Add("UNION All SELECT IDn, v, m, s, f FROM Btab IN "12" "dBASE IV;""");
DataModule2.ADOQuery2.SQL.Add("set @quer1 = "SELECT * FROM @var1 INNER JOIN @var2 ON Atab.IDn = Btab.IDn"");
DataModule2.ADOQuery2.SQL.Add("set @quer2 = "SELECT DISTINCT CL.IDn, CL.f, CL.i, CL.o, CL.dr, CL.v, CL.m, CL.s, CL.f ");
DataModule2.ADOQuery2.SQL.Add("FROM @quer1 CL INNER JOIN @quer1 CR ON ");
DataModule2.ADOQuery2.SQL.Add("CL.IDn <> CR.IDn ");
DataModule2.ADOQuery2.SQL.Add("AND CL.f = CR.f ");
DataModule2.ADOQuery2.SQL.Add("AND CL.v = CR.v ");
DataModule2.ADOQuery2.SQL.Add("AND CL.i = CR.i ");
DataModule2.ADOQuery2.SQL.Add("AND CL.o = CR.o ");
DataModule2.ADOQuery2.SQL.Add("AND CL.m = CR.m");
DataModule2.ADOQuery2.SQL.Add("AND CL.dr = CR.dr ");
DataModule2.ADOQuery2.SQL.Add("AND CL.s <= CR.f "");
DataModule2.ADOQuery2.SQL.Add("EXEC (@quer2)");
DataModule2.ADOQuery2.Active:=true;
Неправильно определен объект parameter
← →
Игорь Шевченко © (2009-09-25 11:47) [1]Приз!
← →
Ирг (2009-09-25 11:47) [2]Разве так нельзя ?
← →
sniknik © (2009-09-25 12:10) [3]запрос составлен по принципу - "а что тут думать, тут прыгать надо" © какой то анекдот
только с добавкой "если что на дельфимастере спрошу"...
> Разве так нельзя ?
ну, никто не запрещает, т.что можно. но только работать не будет, ни в jet ни в mssql, нигде. кстати а почему нет добавления особенностей/стилей из оракла/файребирд/mysql? упущение однако...
> Помогите разобраться !!!
бери книжку/справку где есть описание sql в jet и читай. тут нужно не разбираться, а переучиваться.
← →
Anatoly Podgoretsky © (2009-09-25 12:33) [4]
> Разве так нельзя ?
Да кто же будет в этом разбираться, к тому же не по теме форума.
← →
Сергей М. © (2009-09-25 12:41) [5]Объявили ц/ч переменную
> declare @var1 int
и пытаемся засунуть в нее текст
> set @var1 = "SELECT
КаковО ?
← →
test © (2009-09-25 13:21) [6]Расскажи как ты умудряешся в одну переменную int воткнуть несколько полей?
← →
MsGuns © (2009-09-25 13:34) [7]Сабж напомнил старую притчу о том. как солдат просил у вдовицы водички попить - дай говорит, воды напиться, а то так жрать охота, что переночевать негде
:)
← →
Ирг (2009-09-25 13:39) [8]>>test © (25.09.09 13:21) [6]
>>Расскажи как ты умудряешся в одну переменную int воткнуть несколько полей?
ступил маленько
varchar или char втыкать ? я не знаю какой размер будет запроса !
← →
Сергей М. © (2009-09-25 13:43) [9]
> Ирг (25.09.09 13:39) [8]
> не знаю какой размер будет запроса
А зачем вообще тебе понадобилось все это ?
У клиента нет прямого доступа к этим DBF-файлам что ли ?
← →
MsGuns © (2009-09-25 14:05) [10]Да черт с ним, с доступом - меня больше всего забавляет то, что огурцы ваяют все эти небоскребы, очевидно ленясь написать мини-цикл :)
← →
Сергей М. © (2009-09-25 14:14) [11]
> ленясь написать мини-цикл
Так и я туда же гну)
Цикл прямо на клиенте, не трогая никаким боком ни SQL вообще ни MSSQL в частности)
← →
Сергей М. © (2009-09-25 14:21) [12]
> MsGuns © (25.09.09 14:05) [10]
У огурцов, насколько я пониял, задача импорта из кучи однотипных таблиц с какими-то там документами, которые ежемесячно валятся с луны в 12 специально на то подготовленные папки.
Актуальные результаты этого импорта огурцы желают получить в любой момент времени в виде некоего активного дейтасета (зачем - не знаю).
← →
MsGuns © (2009-09-25 14:27) [13]>Сергей М. © (25.09.09 14:21) [12]
>зачем - не знаю.
Однако нацяльника сказал
← →
MsGuns © (2009-09-25 14:45) [14]>зачем - не знаю.
Рискну предположить (телепатор заржавел, ну а вдруг !)
Овощ тянет лямку в каком-нибудь Облупрснабсбытчего-то-тампроме, занимающемся в числе прочих и такой лабудой как сбор и анализ результатов работы своих подчиненных на "местах". В деревнях и селах поставили компы, а на них самопальную чуду-софтюху на клиппере или, если контора продвинутая, на фоксе. Местные служаки усердно заполняют "поля", и в результате образуются дбф-ки, которые и мылятся или эфтээпятся в контору.
Нацяльника конторы очень заботит возможность оперативного (т.е. в любой момент) обзора всего заполненного, но смотреть по одному отчету, клацая мышкой по надцать раз, его колбасит,- вот он и поручил своему программеру сострогать что-то поудобнистее
:)
← →
Ирг (2009-09-25 14:49) [15]Огурец еще зеленый !!!
базы нет
есть куча dbf которые поступают каждый месяц
мне нужно достать из них нужные цифры
к dbf полный доступ можно воротить ими как угодно
покажите как лучше
>>Да черт с ним, с доступом - меня больше всего забавляет то, что огурцы >>ваяют все эти небоскребы, очевидно ленясь написать мини-цикл :)
я не ленюсь а не знаю как пробовал по разному не выходит !!!
ПОМОГИТЕ ЧЕМ МОГИТЕ ...........
← →
test © (2009-09-25 14:50) [16]MsGuns © (25.09.09 14:45) [14]
Перечитал тему не понял, как приведенный код относиться к твоей версии?
← →
Anatoly Podgoretsky © (2009-09-25 14:52) [17]> MsGuns (25.09.2009 14:45:14) [14]
Может быть, я как то видел очень крутой софт, для горуправы, очень дорогой, а на самом деле это был Нортон Коммандер под ДОС
← →
sniknik © (2009-09-25 14:53) [18]> ни MSSQL в частности)
какой MSSQL? у него jet. это в запросе сборная солянка.
> ПОМОГИТЕ ЧЕМ МОГИТЕ ...........
программу за тебя написать? тебе уже сказано что делать - изучать то что используешь, в этом случае jet.
← →
Сергей М. © (2009-09-25 14:55) [19]
> MsGuns © (25.09.09 14:45) [14]
Вполне может быть)
← →
sniknik © (2009-09-25 14:58) [20]> покажите как лучше
лучше, оно не абстрактное, оно конкретное, по обстановке, в твоем случае возможно было бы лучше заливать данные в какую то нормальную базу например mssql и отчеты делать уже с нее. (но это только по тому что видно отсюда, раскрой еще какой нибудь инфы и все может поменяться с ног на голову)
← →
Сергей М. © (2009-09-25 14:59) [21]
> к dbf полный доступ можно воротить ими как угодно
ну так а зачем тогда весь этот огород с запросами, юнионами, ХПшными заморочками и прочей лабудой ?
Возьми обычный TClientDataSet, пройдись в цикле по всем DBFам, открывая их по очереди, и заполни ClientDataSet записями из этих DBF ..
← →
Сергей М. © (2009-09-25 15:01) [22]
> sniknik © (25.09.09 14:53) [18]
> какой MSSQL?
А бис его знает)
Откуда-то же к нему свались шматки текстов в синтаксисе, характерном для MSSQL ..
← →
Плохиш © (2009-09-25 15:08) [23]
> ПОМОГИТЕ ЧЕМ МОГИТЕ ...........
А смысл?
← →
Anatoly Podgoretsky © (2009-09-25 15:14) [24]
> Откуда-то же к нему свались шматки текстов в синтаксисе,
> характерном для MSSQL ..
А ничего другого просто в Сети не нашел.
← →
test © (2009-09-25 15:48) [25]Пишешь програмулинку чтобы пасла на предмет новых dbf папку, новые открываешь и как в [21] отправляешь в основную БД, после копируешь в папку обработанные. Потом удаляешь обработанный файл.
← →
Ирг (2009-09-25 16:16) [26]Огурец не получал еще так много информации в абстрактном виде .....
Можно код товарищи мастера !!!
>>Возьми обычный TClientDataSet, пройдись в цикле по всем DBFам, открывая их >>по очереди, и заполни ClientDataSet записями из этих DBF ..
как это ?
>>Пишешь програмулинку чтобы пасла на предмет новых dbf папку, новые >>открываешь и как в [21] отправляешь в основную БД, после копируешь в >>папку обработанные. Потом удаляешь обработанный файл.
и это как ?
как ?
← →
Сергей М. © (2009-09-25 16:22) [27]
> как это ?
> и это как ?
> как ?
Вот ведь раскакался)
Ты вот расскажи для начала, что ты дальше собрался делать с этим ADOQuery2, если бы вся эта петрушка у тебя чудесным образом заработала ?
← →
Ирг (2009-09-25 16:26) [28]если бы вся эта петрушка у меня чудесным образом заработала !!!!!!!
вывел в DBGrid1 и мне больше и не надо !
← →
Сергей М. © (2009-09-25 16:29) [29]А DBFы с луны все падают и падают ..
Ты вообще представляешь себе, какой кошмар ожидает того, кто будет глазеть в этот грид, когда DBFов этих накопится с вагон и более ..
← →
Ирг (2009-09-25 16:33) [30]Мне нужно в при выходе удалять результат запроса
dbf всего 2 талицы по 12 шт и больше быть не может
← →
MsGuns © (2009-09-25 16:35) [31]Блин, вот пример допотопного алгоритма
1. В десктопе создаешь дбф нужной структуры (вообще-то можно автоматом получить из имеющихся в папке-"обезьяннике" (для непронятливых: обезьянником менты называют накопитель, куда сажают пойманных на базаре-вокзале личностей без длокументов, а так как там полно негров, пардон, афроамериканцев, то.. в общем понятно, я думаю), но это надо быть слегка продвинутым.
2. Пишешь в дельфи (ваське, сях, пёрдле, жабе или где-нибудь - по барабану) такую хитровыдуманную софтюху:
- чистишь агрегатный дбф (тот самый, что был сварганен в DBD)
- опрашиваешь содержимое "обезьянника" и всех афроамериканцев поименно заносишь в список
- в цикле пробегаешь список и для каждого мастеришь строку
Insert * into MyDBF from select * from <имя афроамериканца (подставляешь из списка>
после чего встромляешь его в TQuery.Text и выполняешь.
- открываешь MyDBF, связываешь его с сеткой и наблюдаешь результаты.
- к сетке примастрячь делфишный нафигатор типо для крутизны
3. Показываешь нацяльнику софтишшу и намякиваешь, что за месяцок и скромную премию в размере 3-х окладов сможешь соорудить еще поиски, фильтры, сортировки и прочую малину.
4. Если нацяльника соглашается, нанимаешь программиста-желтоогуречника и за одын оклад и одын день он делает в подшаманивает твою прогу до нужной функциональности.
← →
Сергей М. © (2009-09-25 16:44) [32]
> в при выходе удалять результат запроса
Он и так сам по себе "удалится", ты же нигде его не сохраняешь)
> dbf всего 2 талицы по 12 шт и больше быть не может
И там они застынут на веки вечные ?
Тогда дождись, когда все 24 штуки благополучно свалятся, и не морочь людям голову, мол, чего делать если дбф в папке не оказалось.. Ты ведь именно этим изначально озаботился ?)
← →
Плохиш © (2009-09-25 16:54) [33]
> MsGuns © (25.09.09 16:35) [31]
>
> Блин, вот пример допотопного алгоритма
Хм, аФФтар вроде алгоритма не просил.
> Ирг (25.09.09 16:33) [30]
Подойди к начальнику, сделай добрые глазёнки и скажи "Насяльника, насяльника, найми программиста"
← →
Ирг (2009-09-25 16:54) [34]Огурцы всегда тупят по началу !!!
>>Он и так сам по себе "удалится", ты же нигде его не сохраняешь)
если он заработает !!!
← →
Плохиш © (2009-09-25 16:56) [35]Не полетит!
← →
MsGuns © (2009-09-25 16:59) [36]Кстати, в предложенный в [31] алгоритм надо добавить едну штукенцию дабы начальник свовсем обалдел от радости, а именно в агрегатный дбф добавить поле, куда заносить погонялово очередной "обезьяны". Тогда в сетке можно будет увидеть кто собсна "заполнял".
Как говорил Петр I "Чтоб дурь каждого видна была"
← →
Сергей М. © (2009-09-25 17:03) [37]
> если он заработает
Оно не заработает, даже не надейся)
А что, собссно, мешает создать собственную БД с таблицей MyTable, куда можно было добавлять содержимое вновь упавших DBF, по одной по мере падения ?
Тогда это заработало бы при простейшем запросе "SELECT * FROM MyTable"
Или начальник запретил ?)
← →
MsGuns © (2009-09-25 17:08) [38]>Сергей М. © (25.09.09 17:03) [37]
Плагиатничаем помаленьку ?
:)
← →
Сергей М. © (2009-09-25 17:11) [39]
> MsGuns © (25.09.09 17:08) [38]
Так молчит же)
Знать ты и вправду попал в точку, ибо молчание - знак согласия)
← →
Ирг (2009-09-25 17:15) [40]Если так намного лучше то конечно создам.
//в цикле пробегаешь список и для каждого мастеришь строку
// Insert * into MyDBF from select * from <имя афроамериканца //(подставляешь из списка>
i:=0
while i<12 do
begin
Insert IDn, f, i, o, dr into MyDBF from (SELECT IDn, f, i, o, dr FROM Atab IN "1" "dBASE IV;");
i++
end
как менять папку в цикле ?
Страницы: 1 2 3 4 вся ветка
Форум: "Прочее";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.006 c