![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MS SQL и mySQL - глюки [D7, MSSQL, MySQL]
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, то все нормально.