Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Длина поля в таблице MySQL   Найти похожие ветки 

 
Сергей А.   (2006-08-24 17:30) [0]

Установил соединение с MySQL с использованием компонентов ADO. В редакторе полей вижу, что длина полей гораздо меньше описанной в БД. Если в редакторе полей я увеличиваю длину, то при сохранении изменений в БД происходит ошибка.


 
Desdechado ©   (2006-08-24 19:05) [1]

>  длина полей гораздо меньше описанной в БД.
Примерчик.


 
Anatoly Podgoretsky ©   (2006-08-24 20:56) [2]

Точно меньше, не путаешь?


 
Сергей А.   (2006-08-25 10:18) [3]

Дали мне такое описание таблицы User:
ID: integer (PK)
FIO: varchar(255)
Email: varchar(255)
Password: varchar(100)
Phone: varchar(100)
Address: varchar(255)
Я подключаюсь к базе, в ADODataSet1.CommandText пишу select ID, FIO, Email, Password, Phone, Address from user, в редактор полей добавляю все поля и смотрю их размер по умолчанию:
FIO: 17
Email: 18
Password: 3
Phone: 7
Address: 12
Запускаю приложение, в гриде добавляю строку и начинаю заполнять данными, в поле FIO нельзя вносить больше 17 символов. Возвращаюсь в ADODataSet и изменяю длину поля FIO на 50. В гриде вношу значение длиной в 50 символов и сохраняю. Получаю EOleExeption "Произошли ошибки во время выполнения пошаговой операции. Проверьте значения всех операций."
В этой таблице уже была одна запись. Размеры содержимого строковых полей как раз и соответствуют той длине, что по умолчанию берется в DataSet.


 
sniknik ©   (2006-08-25 11:27) [4]

> Дали мне такое описание таблицы User:
> ...
не стыкуется с
> пишу select ... смотрю их размер по умолчанию:
> ...
размер по умолчанию при добавлении полей берется из базы (открывается соеденение, запрашивается соответствующая схема... и т.д.), т.е. в данном конкретном случае я бы больше верил значениям по умолчанию чем тому что тебе дали.

ну или как вариант, у выбраного тобой провайдера данных не реализовано/глючно получение схем...
но т.к. провайдером кроме тебя наверняка пользуется еще куча народу то... ну не самописный же он?


 
Сергей А.   (2006-08-25 11:51) [5]

Спасибо за внимание, нашел решение. В настройках ODBC поставил "Don"t otimize column width"



Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
3-1156418446
Виталий Юрьевич
2006-08-24 15:20
2006.10.22
ADO_TABLE и DBGRID - проблема с отображением информации


15-1159783231
Slider007
2006-10-02 14:00
2006.10.22
С Днем рождения ! 27 сентября


8-1143237291
Тфьу
2006-03-25 00:54
2006.10.22
Как скопировать треугольную область?


15-1159279755
Oldman
2006-09-26 18:09
2006.10.22
Вернемся таки к "Дозорам"...


2-1160033628
dera
2006-10-05 11:33
2006.10.22
Как определить, какой компонент открыл доч. форму?