Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MS SQL и mySQL - глюки [D7, MSSQL, MySQL]


Страницы:   1 2 3 4 5

Fishka ©   (2004-06-21 15:56:00) 

В проекте ADoConnection к MS SQL (ADC), ADOQuery (ADQ),
ADoConnection к MySQL (ADM), ADOQuery (ADQ_my).
Программа работает неверно (некорректно заполняются
TstringList-ы). Драйвер mySQL 3.51.
Меняю в строке ConnectionString в ADM на базу MS SQL - и все нормально.

Наверно, мало информации, но все же в чем проблема и как с этим бороться?


Andrick   (2004-06-22 15:49:00) [21]

Комп конкретно глючит. А собака, скорее всего, порылась в том, что дельфин, прежде чем отправить запрос базе, всячески его мнет и коряжит, чтоб, значит, он лучше был. Попробуй поставить самым последним символом запроса #0 - мне помогло


Sandman25   (2004-06-22 15:48:00) [22]

[73] Fishka   (22.06.04 15:45)

Я понимаю, ну а что еще можно придумать... Закрывайте неиспользуемый Connection, тем более, что это разумно.


Andrick   (2004-06-22 15:45:00) [23]

Ладно, мужики, пошел я от вас. Завтра загляну - посмотрю, как дела


Fishka   (2004-06-22 15:45:00) [24]

Fishka   (22.06.04 15:24) [69]
Немного не так. И при закрытом mySQL те же глюки. Даже если не делать Open, то те же глюки.
Но если просто закомментировать строку:
ADQ_my.SQL.Add('SELECT * FROM own where id_own<0');
то все нормально.

Sandman25 ©   (22.06.04 15:24) [70]
Мне не совсем понятно, ведь фактически я ничего не ищу..... И результатом запроса не пользуюсь......


Andrick   (2004-06-22 15:45:00) [25]

Ладно, мужики, пошел я от вас. Завтра загляну - посмотрю, как дела


Andrick   (2004-06-22 15:41:00) [26]

Во-первых, если ты не используешь результаты запросов MySQL - на хрена пользоваться MySQL?
Во-вторых, проверь, возникает ли ошибка, если отключить Ms SQL. Если возникает, то дело совсем не в бобине.

To Sandman25 > Я не обижаюсь.


Sandman25   (2004-06-22 15:24:00) [27]

>Есть поиск, нет его - все равно глюки одни и те же.

Допустим, по алгоритму происходит запись '1', если поле найдено в таблице. Тогда в случае использования MSSQL запись будет найдена и 1 добавится, а в случае использования MySQL запись не будет найдена и поэтому 1 не добавится. При этом не важно, был ли выполнен запрос в MySQL.


Fishka   (2004-06-22 15:24:00) [28]

Andrick ©   (22.06.04 15:07) [64]
ошибка происходит при одновременно открытых и MS SQL, и MySQL - да, есть такой момент.
И что мне делать? Закрывать? А почему?


Sandman25   (2004-06-22 15:20:00) [29]

[67] Andrick ©   (22.06.04 15:15)

И это правильно.

Извините за неудачную шутку.


Andrick   (2004-06-22 15:15:00) [30]

Sandman25 ©   (22.06.04 15:10) [65]
Предпочитаю программирование


Fishka   (2004-06-22 15:11:00) [31]

Andrick ©   (22.06.04 14:58) [61]
А я и не использую результат запроса.

Sandman25 ©   (22.06.04 15:03) [63]
Если при формировании "массива" используются результаты запроса через другое соединение, то массив получится другой. Вы же не зря нам писали про "поиск" в MySQL... Или зря? - Есть поиск, нет его - все равно глюки одни и те же.

Попробуйте указать ADM на MSSQL, но в другую БД, и сравните результаты - о результате сообщу через 5-10 мин.


Sandman25   (2004-06-22 15:10:00) [32]

[64] Andrick ©   (22.06.04 15:07)

Какой еще песочный... Изучайте американский фольклор, молодой человек :)

PS. Я же не называю Вас "и стог" :)


Andrick   (2004-06-22 15:07:00) [33]

Кстати, ошибка происходит при одновременно открытых и MS SQL, и MySQL, - или нет? Если при одновременно, то Песочный (привет ;))) прав


Sandman25   (2004-06-22 15:03:00) [34]

[62] Fishka   (22.06.04 15:01)

Если при формировании "массива" используются результаты запроса через другое соединение, то массив получится другой. Вы же не зря нам писали про "поиск" в MySQL... Или зря?

Попробуйте указать ADM на MSSQL, но в другую БД, и сравните результаты


Fishka   (2004-06-22 15:01:00) [35]

Sandman25 ©   (22.06.04 14:55) [60]
Если используется MSSQL, а не MySQL, то ADM указывает на ту же БД, что и ADQ, в которой идет транзакция - да.
Возможно, дело в том, что MSSQL "видит" транзакцию, которую не видит MySQL - а при чем тут неверное формирование массива Area, из-за которого мои проблемы?????????


Andrick   (2004-06-22 14:58:00) [36]

Не знаю насчет MS SQL, а вот MySQL возвращает в ответ на запрос массив из PChar, а уж никак не String (насколько я понял из всего написанного)


Sandman25   (2004-06-22 14:55:00) [37]

Если используется MSSQL, а не MySQL, то ADM указывает на ту же БД, что и ADQ, в которой идет транзакция? Возможно, дело в том, что MSSQL "видит" транзакцию, которую не видит MySQL.


Fishka   (2004-06-22 14:49:00) [38]

А и поиск поиск не нужен. Простейший запрос к mySQL, и неверно определяется массив Area.
Дело не в запросе,
а см. См. Fishka   (22.06.04 09:06) [12] и
3. Неверны свойства ADOQuery (ADQ_my), а именно ...

У меня нет опыта работы с mySQL.


Fishka   (2004-06-22 14:45:00) [39]

function TForm1.Koef_abc(tt1,tt2 : tochka; var a,b,c : Real): Boolean;
begin
if (tt2.sh=tt1.sh) and (tt2.dl=tt1.dl) then
begin
result:=False;
exit;
end;
//       if (tt2.shtt1.sh) then
      if (abs(tt2.sh-tt1.sh)>0.0001) then
        begin
//         if (tt2.dltt1.dl) then
        if (abs(tt2.dl-tt1.dl)>0.001) then
            begin
            try
            a:=0-1/(tt2.dl-tt1.dl);
            b:=1/(tt2.sh-tt1.sh);
            c:=tt1.dl/(tt2.dl-tt1.dl)-tt1.sh/(tt2.sh-tt1.sh);
            except
             ShowMessage(FloatToStr(a));
            end;
            end
          else
            begin
            a:=1;
            b:=0;
            c:=0-tt1.dl;
            end;
        end
        else
        begin
         a:=0;
         b:=1;
         c:=0-tt1.sh;
        end;
result:=True;
end;

function TForm1.Midd_r(tt,tt1,tt2 : tochka; var tt_mid:tochka; var a_m,b_m,c_m : Real): Boolean;
begin
//íàéäåì êîîðäèíàòû ñåðåäèíû ðåáðà
tt_mid.sh:=(tt1.sh+tt2.sh)/2;
tt_mid.dl:=(tt1.dl+tt2.dl)/2;
//1-ÿ òî÷êà - ïðîâåðÿåìàÿ, 2-ÿ òî÷êà - ñåðåäèíà ðåáðà - èùåì êîýôô. â óð-íèè ïðÿìîé
if Koef_abc(tt,tt_mid,a_m,b_m,c_m)=False then result:=False;
end;


И чем это все может помочь???????????????


bushmen   (2004-06-22 14:45:00) [40]

>для некоторых записей, для которых был поиск в таблице mySQL неверно количество Area.Count

Что-то я не вижу поиска в базе mysql


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо