![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
такая проблема: то, что ввожу в edit, записываю в таблицу. При этом возникает ошибка: String or binary data would be trancated. Типа поля integer, размер 4.
Причём размер поля не привышаю, т.е. ввожу хоть один символ - всё равно ошибка. Помогите, пожалуйста, что делать? |
|
#2
|
|||
|
|||
|
Цитата:
Уточните как происходит запись в базу. Почему символ? Вы пытаетесь в Integer (число) записать символ? При нажатии на кнопку? Table1.Edit; Table1.FieldByName('FieldInteger').AsInteger := StrToInt(Edit1.Text); Table1.Post; |
|
#3
|
||||
|
||||
|
P - пароль в таблице с клиентами. Делаю так.
Var P: Integer; begin (при проверке на наличие клиента с таким же паролем всё работает. Запись в базу выдаёт ошибку.) ... ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:=('Insert INTO Customers (LastName, FirstNam... ...Pass) values ('''+ Edit1.Text +''', ''' + Edit2.Text +'''...'''+Edit6.Text+''')'); ADOQuery1.ExecSQL; |
|
#4
|
|||
|
|||
|
по моему в кавычки значение пароля заключать не надо, а надо преобразовывать к инт, но могу и ошибаться
|
|
#5
|
||||
|
||||
|
Очень хочется сделать вот так
ADOQuery1.SQL.Text:=('Insert INTO Customers (LastName, FirstNam... ...Pass) values ('''+ Edit1.Text +''', ''' + Edit2.Text +'''...StrToInt(Edit6.Text))'); но тут тоже какая-то ошибка. |
|
#6
|
|||
|
|||
|
уж тогда весь запрос напиши, скорее вего синтаксис где то нарушен
|
|
#7
|
|||
|
|||
|
Цитата:
Правильно, ошибку будет выдавать. Вы число в строку пытаетесь засунуть (IntToStr(Edit6.Text)). Нужно так: ADOQuery1.SQL.Text:=('Insert INTO Customers (LastName, FirstNam... ...Pass) values ('''+ Edit1.Text +''', ''' + Edit2.Text +'''...Edit6.Text)'); Также смотря какая база, нужно либо одинарную кавычку, либо двойную использовать, попробуйте заменить. |