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

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

Грабли с MySql [D7, MySQL]


Павел Калугин ©   (2008-03-14 13:19:00) 

Пытаюсь работать с MySql через ado odbc
Настроил подключение, соединяется.
пытаюсь сделать запрос вида
 select field from table
так на одной из таблиц (как назло нужной) получаю ошибку
---------------------------
Error
---------------------------
Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний.
---------------------------
OK   Details >>  
---------------------------
Куда смотреть, как понять откуда данная ошибка лезет?


Павел Калугин   (2008-03-14 18:50:00) [1]


> Правильный_Вася   (14.03.08 15:30) [17]

в кастрате?


Правильный_Вася   (2008-03-14 15:30:00) [2]


> таблицы с которыми ПХП работает трогать структуру запретили

сделай вьюху с нужным типом


Павел Калугин   (2008-03-14 15:07:00) [3]


> Johnmen ©   (14.03.08 14:53) [14]

Вот и я про то же..
На сайте из пхп данные отображены нормально.  
Смотреть на них смысла особого нету
Задача из учетной базы переложить кусочек на сайт.
а так как таблицы с которыми ПХП работает трогать структуру запретили ну и ...
инсерт работает ну и ладно.


sniknik   (2008-03-14 14:54:00) [4]

если создать таблицу даже в таком виде ([4]), и не допускать чтобы сработал дефаулт (всегда вносить все значения), то с таблицей вполне можно работать...


Johnmen   (2008-03-14 14:53:00) [5]


> Павел Калугин ©   (14.03.08 14:45) [11]

М-да. Любопытное явление...


sniknik   (2008-03-14 14:51:00) [6]

при вставке поля, явно возникает ситуация когда в тип даты к примеру пихается строка (и даже запихивается!), или что там, к чему этот параметр преобразовывается...  в дальнейшем естественно с такой таблицей работать невозможно. любая попытка преобразований, приводит к краху, т.к. на месте числа ахинея...


sniknik   (2008-03-14 14:47:00) [7]

> структура таблицы на которой возникает ошибка
убери "дефаулты", проверь. после читай про правильные форматы.


Павел Калугин   (2008-03-14 14:45:00) [8]


> Johnmen ©   (14.03.08 14:35) [10]

увы, не поможет
 select s_date from ZERICH_FOND_2
приводит к той же ошибке пока тип данных поля scha не изменишь.


Johnmen   (2008-03-14 14:35:00) [9]

Для селекта, если вдруг понадобится, можно завести вычисляемое поле в таблице. Опять же, если они есть в MySQL. Я не помню...


Павел Калугин   (2008-03-14 14:31:00) [10]

менять структуру полей запретили :(
остановился на том что селект оттуда нафиг не нужен а инсерт работает :)


Johnmen   (2008-03-14 13:56:00) [11]


> Павел Калугин ©   (14.03.08 13:52) [5]
> с чего оно на decimal(18,2) ругается то?

Дело в том, что ADO хочет работать с численным типом, а
Величины типов DECIMAL и NUMERIC хранятся как строки, а не как двоичные числа с плавающей точкой, ...

поэтому делай DOUBLE PRECISION.


Павел Калугин   (2008-03-14 13:55:00) [12]

смотрю. Вижу фигу (С)
+ $70[527DD889]{adortl100.bpl} ADODB.ADODB.TCustomADODataSet.OpenCursor (Line 3580, "adodb.pas" + 5) + $70
+ $0[51F0A2A1]{rtl100.bpl  } System.System.@CheckAutoResult (Line 18061, "system.pas" + 6) + $0
+ $7[527E5BAD]{adortl100.bpl} ADODB.ADODB.TADODataSet.OpenCursor (Line 6196, "adodb.pas" + 20) + $7
+ $7[5230F049]{dbrtl100.bpl} DB.DB.TDataSet.SetActive (Line 9243, "DB.pas" + 12) + $7
+ $0[51F2AC1E]{rtl100.bpl  } TypInfo.TypInfo.SetOrdProp (Line 1318, "TypInfo.pas" + 27) + $0
+ $6[20EED30A]{designide100.bpl} DesignEditors.DesignEditors.TEnumProperty.SetValue (Line 1402, "DesignEditors.pas" + 5) + $6
+ $16[20EEB99C]{designide100.bpl} DesignEditors.DesignEditors.TPropertyEditor.Edit (Line 671, "DesignEditors.pas" + 11) + $16
+ $5[20C943EA]{coreide100.bpl} PropInsp.PropInsp.TPropertyInspector.PropListEditDblClick (Line 837, "PropInsp.pas" + 20) + $5
+ $A[20FCD681]{vclide100.bpl} IDEInspListBox.IDEInspListBox.TInspListBox.DoEditDblClick (Line 981, "ideinsplistbox.pas" + 2) + $A
+ $6[5203C998]{vcl100.bpl  } Controls.Controls.TWinControl.WndProc (Line 7242, "Controls.pas" + 101) + $6
+ $4[20FCC857]{vclide100.bpl} IDEInspListBox.IDEInspListBox.TPropInspEdit.WndProc (Line 431, "ideinsplistbox.pas" + 7) + $4
+ $0[51F40BB0]{rtl100.bpl  } Classes.Classes.StdWndProc (Line 11572, "classes.pas" + 8) + $0
+ $6A[7E368731]{USER32.dll  } GetDC + $6A
+ $14A[7E368811]{USER32.dll  } GetDC + $14A
+ $122[7E3689C8]{USER32.dll  } GetWindowLongW + $122
+ $A[7E368A0B]{USER32.dll  } DispatchMessageW + $A


clickmaker   (2008-03-14 13:53:00) [13]


> с чего оно на decimal(18,2) ругается то?

это надо в Details >> смотреть


Павел Калугин   (2008-03-14 13:52:00) [14]

с чего оно на decimal(18,2) ругается то?


Павел Калугин   (2008-03-14 13:45:00) [15]


> Johnmen ©   (14.03.08 13:37) [3]

и поб IDE  и при попыьке подключится из приложения
уточняю. структура таблицы на которой возникает ошибка
CREATE TABLE `ZERICH_FOND_2` (
 `id` int(11) NOT NULL auto_increment,
 `s_date` date NOT NULL default '0000-00-00',
 `scha` decimal(18,2)NOT NULL default '0.00',
 PRIMARY KEY  (`id`),
 UNIQUE KEY `DATA` (`s_date`)
)

заменяю decimal(18,2) на float  и все работает.


Johnmen   (2008-03-14 13:37:00) [16]


> Павел Калугин ©   (14.03.08 13:19) 

Это под IDE или нет?


www   (2008-03-14 13:27:00) [17]


> Куда смотреть, как понять откуда данная ошибка лезет?

сюда

>  Details >>  


sniknik   (2008-03-14 13:23:00) [18]

> Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний.
возможно ошибка в параметрах подключения.


Наверх

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