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 - и все нормально.

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


Fishka   (2004-06-22 14:43:00) [41]

procedure TForm1.Attrib_rebro(kod_z,delta:Integer;lat,lon:String;trebro:array of tochka;Attr:TstringList);
var tt_temp,tt_m,tt_s : tochka;
   ii,jj,count_s: Integer;
   attrib,attrib_r : Boolean;
   a1,b1,c1,a2,b2,c2 : Real;
begin
tt_temp.sh:=StrToFloat(lat);
tt_temp.dl:=StrToFloat(lon);
if (tt_temp.dl


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

Пытаюсь привести, но оказалось, что ограничение на 7000 ( с чем-то) символов. И все мое сообщение пропало!

while .....

Area.Clear;
for j:=0 to length(Area_Code)-1 do
 Attrib_rebro(Area_Code[j],Area_Delta[j],lati,long,Area_coord[j],Area);
//проверяем и для некоторых записей, для которых был поиск в таблице mySQL неверно количество Area.Count (д.б. 1, а оно больше), но для первой записи всегда все верно
...
ADQ_my.Close;
ADQ_my.SQL.Clear;
ADQ_my.SQL.Add('SELECT * FROM own where id_own<0');
try
 ADQ_my.Open;
except
end;
....
ADQ.SQL.Add('begin transaction T1;');
ADQ.SQL.Add('insert ....');
......
//вставка в 20 таблиц - ошибок нет
//если массив Area неверно сформирован, то и в таблице некорректные записи
ADQ.SQL.Add(' COMMIT TRANSACTION T1;');
ADQ.ExecSQL;

end;


Плохиш   (2004-06-22 14:16:00) [43]


> Ega23 ©   (22.06.04 13:52) [52]

Спокойно, товарищи. Это идёт тестирование телепатов :-)


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

Это напоминает анекдот:
- Найдите мне, пожалуйста, документ.
- Какой?
- Не могу сказать, т.к. он секретный


Ega23   (2004-06-22 13:52:00) [45]

Fishka   (22.06.04 13:26) [50]

ДА ЧТО Ж ИЗ ТЕБЯ КЛЕЩАМИ ВСЁ ТЯНУТЬ ПРИХОДИТСЯ!!!! КОМУ ЭТО НАДО: НАМ ИЛИ ТЕБЕ???


bushmen   (2004-06-22 13:29:00) [46]

>в одной транзакции заполняется порядка 20 таблиц, каждая из которых заполняется несколькими записями (в цикле).

Вот и привиди этот код


Fishka   (2004-06-22 13:26:00) [47]

bushmen ©   (22.06.04 13:21) [49]
коды заполнения таблицы - в одной транзакции заполняется порядка 20 таблиц, каждая из которых заполняется несколькими записями (в цикле).

Но проблема не в этом (на мой взгляд).
Ведь если нет ADQ_my к mySQL - то все прекрасно!


bushmen   (2004-06-22 13:21:00) [48]

>неверно формируются массивы и некорректно заполняется одна из таблиц MSSQL.

Приведи коды заполнения таблицы и массива


Fishka   (2004-06-22 13:19:00) [49]

Курдль ©   (22.06.04 13:11) [46]
Ошибок нет, но неверно формируются массивы и некорректно заполняется одна из таблиц MSSQL.

bushmen ©   (22.06.04 13:11) [47]
Мне кажется, дело не в коде, а в свойствах ADOQuery (ADQ_my), который используется для запроса к таблицам mySQL.

См. Fishka   (22.06.04 09:06) [12]
3. Неверны свойства ADOQuery (ADQ_my), а именно ...


bushmen   (2004-06-22 13:11:00) [50]

>то все равно глюки дальше.

А код дальше какой?


Курдль   (2004-06-22 13:11:00) [51]

Интересненько...
А может быть приведете участок кода, где дебаггер по ошибке останавливает? (Только, плз, с тэгами "код", если много).


Fishka   (2004-06-22 13:01:00) [52]

Да. Но даже если его как бы нет (есть строка ADQ_my.SQL.Add('SELECT * FROM own where id_own<0'), но Open я не делаю), то все равно глюки дальше.


Johnmen   (2004-06-22 12:56:00) [53]

Т.е. имеем
ADQ_my.Connection указывает на ADOConnection, строка коннекта которого есть коннект к mySQL, и  этот коннект проходит.
Так выполняется ли запрос в ADQ_my ?


Fishka   (2004-06-22 12:51:00) [54]

Johnmen ©   (22.06.04 12:42) [42]
Вроде как дан ответ на вопрос:
ADQ_my = ADOQUERY, в котором все по умолчанию, кроме Connection или ConnectionString.

Я жду помощи. И это нужно мне. Извините, пожалуйста, если что не так в моем ответе.


Johnmen   (2004-06-22 12:42:00) [55]

>Fishka   (22.06.04 12:37) [41]

Тихо, сам с собою ? :)
А впрочем мне пофигу. Ведь это тебе надо, а не мне...


Fishka   (2004-06-22 12:37:00) [56]

Johnmen ©   (22.06.04 12:26) [40]

Все по умолчанию. Было рассмотрено  2 варианта:
1.Заполнено только Connection (причем было 2 варианта: AdoConnection через ODBC  и в нем Use data source name или Use Connection String).
2.Заполнено только ConnectionString (причем было 2 варианта: Use data source name или Use Connection String).

Но все бесполезно : глюки остались.


Johnmen   (2004-06-22 12:26:00) [57]

Так. Ещё дальше...
Что такое ADQ_my ? И его параметры.


Anatoly Podgoretsky   (2004-06-22 12:24:00) [58]

Продолжаем разговор.


Fishka   (2004-06-22 12:22:00) [59]

Плохиш ©   (22.06.04 12:18) [36]
К сожалению, нет 17-й строки.
Есть всего одна, связанная с ADOConnection (да и то не в программе).


Fishka   (2004-06-22 12:20:00) [60]

Johnmen ©   (22.06.04 12:07) [35]
Если в программе закомментированы строки:
ADQ_my.SQL.Add('SELECT * FROM own where id_own<0');
try
 ADQ_my.Open;
except
end;
то все ОК.

И даже неважно выполняется или нет запрос.Если закомментировать строку с Open, то все равно глюки.

Если вышеприведенные строки раскомментировать, то программа в одной из процедур (где в основном мат. формулы) работает некорректно.
Это все в том случае, если есть mySQL.

Если нет mySQL, то все нормально.


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

Наверх

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