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

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


Симафор Лютый   (2004-06-25 21:43:00) [1]

Вот и я говорю что фигня какая то, а Гендальф говорит, что ножницы. Проблема - коаксиалку на витую пару нужно заменить - будет работать точно! Проверено электроникой


Симафор Лютый   (2004-06-25 21:42:00) [2]

Вот и я говорю что фигня какая то, а гендальф говорит, что ножницы.


Andrick   (2004-06-25 19:32:00) [3]

Действительно, проблема все-таки в формате данных - он у MySQL и MS SQL очень даже разный, поэтому один и тот же код не приемлем. А мыло - подведи к нику, но не нажимай - в анкете-то как раз мыло не показывается :))
На худой конец, запиши так andrick_@mail.ru


bushmen   (2004-06-25 15:58:00) [4]

>Если коннект с mySQL есть, то например, 84-84=1.13Е-14.

Что-то слабо верится, что Delphi по-разному считает :)))
Мне кажется, что проблема в формате хранения данных в MySQL. Посмотри.


Fishka   (2004-06-25 14:27:00) [5]

Andrick ©   (24.06.04 15:57) [90]
Зачем так просто? Смотрю анкету - а там email нету.
bushmen ©   (24.06.04 16:11) [91]
3.23.58

Но проблема решена. Ошибок, а вернее неточностей, много.
Например,
if ((tt_s.sh=trebro[ii].sh) and (tt_s.dl=trebro[ii].dl)) or
 ((tt_s.sh=trebro[ii+1].sh) and (tt_s.dl=trebro[ii+1].dl)) then

неверно отрабатывает после коннекта с mySQL.
Если коннекта с mySQL нет, то например, 84-84=0.
Если коннект с mySQL есть, то например, 84-84=1.13Е-14.

Так что вышеприведенная функция исправлена. Сравнивания реальных чисел между собой нет. Теперь сравниваю только целые.
За советы спасибо Andrick © (ОГРОМНОЕ), Sandman25 ©, bushmen ©, Johnmen ©.


bushmen   (2004-06-24 16:11:00) [6]

>Версия mySQL 3.2. x
А конкретнее?


Andrick   (2004-06-24 15:57:00) [7]

Издеваешься? Наведи мышку на ник - получишь с строке состояния результат


Fishka   (2004-06-24 08:53:00) [8]

Версия mySQL 3.2.x.. Вроде получилось через BDE.

Сегодня еще помучаюсь, хочется понять. Но если результата не будет, то кину. Только, куда не знаю.


Andrick   (2004-06-23 16:35:00) [9]

В общем, лучше кинь. Вдруг да помогу. К тому же, если честно, люблю копаться в чужих программах - ежли автор позволяет.
 Кстати, о подключении к MySQL через BDE. У тебя получилось? Какую версию MySQL используешь?


Fishka   (2004-06-23 15:53:00) [10]

Ничего не получается.
К mySQL подключаюсь через BDE. DataBase1.Connected:=True стоит на FormCreate. И все равно неверно работает (ошибка в функции Attrib_rebro (неверно формируется массив Area).
Как только убираю DataBase1.Connected:=True, все нормально.

Так что проблема не в тексте запроса. Сейчас нет никаккого запроса.

Но мне нужны данные из таблиц mySQL. Что делать?


Fishka   (2004-06-23 10:56:00) [11]

Andrick ©   (23.06.04 10:35) [85]
Если есть желание - кинь исходник на мыло
Спасибо за предложение, но исходник просто огромный. Мне жаль Вашего времени.

если и при закрытом MySQL те же глюки - да, те же.

А как поменять способ подключения к базе данных mySQL? Кроме Ado, чем можно пользоваться? (К MSSQL не хотелось бы).


Andrick   (2004-06-23 10:35:00) [12]

Как исключение - однажды встретил рекомендацию в особо критических случаях заключать запрос в двойные кавычки. Но как это в реальности воплотить - не знаю.
Кстати, если и при закрытом MySQL те же глюки, то скорее всего, придется пользоваться чем либо одним - или менять способ подключения к базе данных. Попробуй подцепиться MySQL через ADO, а к MS SQL - через BDE. Если глюк пропал - проблема в ADO, иначе... Если есть желание - кинь исходник на мыло, но сразу предепреждаю - возможно, ответа ждать придется пару дней. Только зазипуй


Fishka   (2004-06-23 09:45:00) [13]

Все равно глюки:

'SELECT own.* FROM own WHERE (((own.id_own)<0))'#0
'SELECT own.* FROM own WHERE (((own.id_own)<0))'+#0

Мне кажется, уже теплее. Проблема в запросе или в свойствах компонента ADOQuery.


Andrick   (2004-06-23 06:31:00) [14]

'SELECT * FROM own where id_own<0' + #0


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

[81] Fishka   (22.06.04 16:32)

У меня не так. Внимательнее смотрим...


Fishka   (2004-06-22 16:32:00) [16]

Sandman25 ©   (22.06.04 16:06) [80]
Все равно глюки :
'SELECT * FROM own where id_own<0#0'
'SELECT * FROM own#0 where id_own<0#0'


Sandman25   (2004-06-22 16:06:00) [17]

[79] Fishka   (22.06.04 16:05)

SQL.Add('select ... from table1' #0);


Fishka   (2004-06-22 16:05:00) [18]

Andrick ©   (22.06.04 15:56) [78]
Попробуй все-таки поставить нулевой символ. В дельфине с мускулем я без него запросы не составляю -
Непонятно, что и куда поставить? У меня нет опыта работы с mySQL.


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

Попробуй все-таки поставить нулевой символ. В дельфине с мускулем я без него запросы не составляю.
Ладно, пока. Завтра зайду с утречка - сообщи результат


Fishka   (2004-06-22 15:53:00) [20]

Andrick ©   (22.06.04 15:41) [71]
1. Был написан запрос к mySQL - и как результат : программа отработала некорректно. Помучавшись неделю, мною был сделан вывод: дело не в тексте ( кстати отлаженном) запроса к mySQL, а просто в его наличии. И даже неважно, делаю я Open или нет. Естественно, после нахождения причины ошибки я восстановлю текст запроса к таблицам mySQL.

2.Если отключить MsSQL или наоборот поменять Connection (т.е. поставить Connection к MSSQL вместо mySQL), то все нормально.

Конечно, выход есть всегда: например, качнуть данные из mySQL во временную таблицу на MSSQL и не пользоваться запросам к mySQL.
Но мне кажется, что это очень-очень нерационально (мягко говоря).


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

Наверх

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