![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
БД, ошибка добавления [D7]
cardexc © (2006-04-20 17:36:00)Здравствуйте, у меня по мере создания программы, возник один глупый вопрос, решить который неполучается =(
Возможно ('полюбому') было уже обсуждение этого, но я ненашел
При добавлении новой записи в БД появляется следующее
Access violation ..... Invalid field name. Text....
Form1.Query1.SQL.Clear ();
Form1.Query1.SQL.Add('INSERT INTO Main (Name) Values (TName.Text)');
Form1.Query1.ExecSQL;
БД парадокс7, TName -- TEdit
cardexc (2006-04-21 18:30:00) [1]Написал, вызываю таким кодом
Form1.Query1.ParamByName('name').AsString := TName.Text;
Form1.Query1.ExecSQL;
Работает :) Большое спасибо ! Всем ! :)
vovnuke (2006-04-21 18:24:00) [2]в дизайнтайме напиши в Query.SQL:
insert into main (name) values (:name)
cardexc (2006-04-21 18:20:00) [3]До запроса дело пока недоходит, надо создать параметр и использовать через параметр, я думаю..
а запрос в котором ошибка --
Query1.SQL.Add('INSERT INTO Main (Name) Values (TName.Text)');
vovnuke (2006-04-21 18:09:00) [4]
> [19] cardexc (21.04.06 18:06)
хоть, запрос покажи. :-(
cardexc (2006-04-21 18:06:00) [5]Пытаюсь сделать через параметры, но не получается добавить параметр (в дизайн тайме, в Query.Params) пункт "Add New" заблокирован (типа Enabled = fasle).
Кто знает почему ???
cardexc (2006-04-21 10:33:00) [6]Гмм.... возможно не там нажимаю, но при двойном нажатии на Table, у меня там пусто, нету никаких полей, хотя когда жму вперед, он прыгает в БД по моим записям..
Мефисто (2006-04-20 22:24:00) [7]cardexc (20.04.06 22:14) [16]
Всетаки не достает матчасти :)
Ты удаляешь строки, а не поля как посоветовал АП.
Двойной клик по компоненту TTable и в редакторе полей вычещаем все поля. Потом какие надо вставишь (хоть все).
cardexc (2006-04-20 22:14:00) [8]Я просто вместо этого написал вручную в свойство Query ту строку, и получил опять ету ошибку
Поле нейм существует, и типы совпадают ...
При попытке удалить созданые поля, случилось то что я и боялся.. у меня таблицы связаны, связь один ко многим, т.е. пытаюсь удалить, он мне говорит что-то типа: Нельзя так удалять, исп. связь master-detail
Удалял я обычным способом
With MainTable do while not EOF do
delete ;
cardexc (2006-04-20 21:54:00) [9]Спасибо, попробую
Мефисто (2006-04-20 21:52:00) [10]cardexc (20.04.06 21:34) [12]
Намек был на то, чтобы ее не стразу в Query1.SQL.Add() вставить, а посмотреть во время отладки значение даннй переменной. Т.е. итоговая строка получилась именно та что задумывалась или нет.
MyStr := 'INSERT INTO Main (Name) Values (' + TName.Text + ')';
На проверку, существует ли поле 'Name' и соответсвет ли введенное значение 'TName.Text' типу данных поля 'Name'.
Anatoly Podgoretsky (2006-04-20 21:47:00) [11]Удали все поля созданые в дизайн-тайм
cardexc (2006-04-20 21:34:00) [12]При присвоении временной стринговой переменной ругаеться на нее
>Invalid field name. имя переменной ....
Мефисто (2006-04-20 20:14:00) [13]>> ('INSERT INTO Main (Name) Values (TName.Text)');
Присвой временной стринговой переменной и посмотри результат под отладчиком. Или выведи результат формирования этой строки куданибудь. Наглядно сам все и увидишь, чего и где.
Мефисто (2006-04-20 20:14:00) [14]>> ('INSERT INTO Main (Name) Values (TName.Text)');
Присвой временной стринговой переменной и посмотри результат под отладчиком. Или выведи результат формирования этой строки куданибудь. Наглядно сам все и увидишь, чего и где.
cardexc (2006-04-20 20:01:00) [15]кстати кавычки непричем, при ручном добавлении такой же ерор
cardexc (2006-04-20 18:56:00) [16]понятно, спасибо, буду пробовать
чего нибудь почитал, не помогло :)
vovnuke (2006-04-20 18:51:00) [17]ну тогда я бы поробовал вынести TName.Text из кавычек, или что будет более правильным, использовать в запросе параметры.
А так вообще не плохо почитать чего нибудь (на будущее).
cardexc (2006-04-20 18:44:00) [18]Хотелось бы конечно чтобы там оказалась строка, которая находиться в TName.Text ...
vovnuke (2006-04-20 18:27:00) [19]как ты думаешь что у тебя подставляется в запрос вместо
> TName.Text
cardexc (2006-04-20 18:12:00) [20]vovnuke:
Не совсем понял вопрос....