![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADOQuery - проблемы [D7, Access]
Anarki © (2004-03-10 18:17:00)Поставил ADOQuery для того, чтобы сделать запрос добавления записи.
Компонент ADD_QUERY находится вместе с DataSourcr_1 на модуле DataModule_1.
DataModule_Main.ADD_QUERY.ConnectionString := 'Provider=MSDASQL.1;Data Source=my_database;
DataModule_Main.ADD_QUERY.DataSource := DataModule_Main.DataSource_1;
DataModule_Main.ADD_QUERY.SQL.Add('INSERT INTO table_1 (name) VALUES(EDIT_NAME.Text)');
DataModule_Main.ADD_QUERY.ExecSQL;
Это всё на обработчике кнопки.
Но при нажатии на кнопку вылетает exception:
[Microsoft][ODBC Microsoft Access Driver]
Хотя другой компонет - ADODataSet, который коннектиться к БД через этот ConnectionString пашет без проблем.
menart (2004-03-11 11:22:00) [1]
> Anarki © (10.03.04 19:29) [24]
> DataModule_Main.ADO_QUERY.SQL.Add('INSERT INTO table_1(name)
> VALUES(''EDIT_NAME.Text)'');
DataModule_Main.ADO_QUERY.SQL.Add('INSERT INTO table_1(name)тогда ты добавишь значение EDIT_Name
VALUES('' +EDIT_NAME.Text +')');
Johnmen (2004-03-10 23:23:00) [2]У тебя что F1 отломана ? Или читать не умеешь ?
Anarki (2004-03-10 19:50:00) [3]
> Почитай умные книжки (хотя хелпа за глаза хватит).
> Q.SQL.Add('INSERT INTO table_1(name) VALUES(:E)');
> q.params[0].asstring := edit1.text;
> q.execsql;
Да, интересно где н ADOQuery вы взяли свойство params???
У него есть Parameters, но у последнего нету AsString.
Mike Kouzmine (2004-03-10 19:38:00) [4]Почитай умные книжки (хотя хелпа за глаза хватит).
Q.SQL.Add('INSERT INTO table_1(name) VALUES(:E)');
q.params[0].asstring := edit1.text;
q.execsql;
Anarki (2004-03-10 19:29:00) [5]Так, прошу не базарить! :)
У меня всё получилось.
Я добавил ADOConnection и теперь через него коннектюсь.
Тока вот проблема одна не решилась.
Когда я делаю
DataModule_Main.ADO_QUERY.SQL.Add('INSERT INTO table_1(name) VALUES(''EDIT_NAME.Text)'');
То он мне не добавляет не значение EDIT_NAME'a а само выражение "EDIT_NAME.Text".
Пробовал делатьЖ
DataModule_Main.ADO_QUERY.SQL.Add('INSERT INTO table_1(name) VALUES(:EDIT_NAME.Text)');
Вылезает exception:
Parameter Object is improperly defined. Inconsistent or incomplete information was provided.
что делать?
Vlad (2004-03-10 19:15:00) [6]
> menart © (10.03.04 19:14) [22]
>
> > Еще раз. Этот запрос ничего не добавляет
>
> а что он делает? :0
Он инициирует ошибку драйвера.
menart (2004-03-10 19:14:00) [7]
> Еще раз. Этот запрос ничего не добавляет
а что он делает? :0
Johnmen (2004-03-10 19:13:00) [8]>Добавляет одно поле, а у него в таблице их 5, остальнные
Не поле, а запись. Разница есть ?
>остаются пустые, а в конструкции указано что это незя :)
В какой конструкции ?
Vlad (2004-03-10 19:12:00) [9]
> INSERT INTO table_1 (name) VALUES(EDIT_NAME.Text)
> Добавляет одно поле, а у него в таблице их 5, остальнные
> остаются пустые, а в конструкции указано что это незя :)
Еще раз. Этот запрос ничегоне добавляет
menart (2004-03-10 19:10:00) [10]
INSERT INTO table_1 (name) VALUES(EDIT_NAME.Text)
Добавляет одно поле, а у него в таблице их 5, остальнные остаются пустые, а в конструкции указано что это незя :)
Vlad (2004-03-10 19:08:00) [11]
> menart © (10.03.04 19:04) [16]
он туда ничегоне добавляет. Даже пустых полей.
Запрос который привел автор просто не рабочий.
Johnmen (2004-03-10 19:07:00) [12]>потому что он туда ничего не добавляет, оставляет пустые поля,
>у меня у самого были такие проблемы
Э-э-э... Как это не добавляет ??? А INSERT это что ?
Где оставляет пустые поля ???
Твои проблемы неясны. То есть абсолютно...
menart (2004-03-10 19:04:00) [13]
> >а далжно быть да!
>
> а зачем да ?
потому что он туда ничего не добавляет, оставляет пустые поля, у меня у самого были такие проблемы
Johnmen (2004-03-10 18:56:00) [14]>а далжно быть да!
а зачем да ?
Anarki (2004-03-10 18:56:00) [15]
> Делай всё через ADOConnect? проще, удобнее и т.п. А потом
> на ADOConnect вешай ADOQuery
ОК, попробую.
menart (2004-03-10 18:54:00) [16]
> > Посмотри есть ли в accesse таблице пустые строки > нет
> ?
>
> Нет.
а далжно быть да!
menart (2004-03-10 18:52:00) [17]
> Хотя другой компонет - ADODataSet, который коннектиться
> к БД через этот ConnectionString пашет без проблем
Делай всё через ADOConnect? проще, удобнее и т.п. А потом на ADOConnect вешай ADOQuery
Anarki (2004-03-10 18:51:00) [18]
> у тебя сколько полей в таблице?
5 полей. Но я в остальные ничего не добавляю - он разве автоматом туда пустые строки не добавит?
> Посмотри есть ли в accesse таблице пустые строки > нет ?
Нет.
Vlad (2004-03-10 18:50:00) [19]
> Anarki © (10.03.04 18:42) [7]
А пробовал ли ты посмотреть хотя бы showmessage'м результат составления своего запроса (SQL.Text) ?
Думаю, если попробуешь - кое что прояснится :-)
Johnmen (2004-03-10 18:47:00) [20]>Anarki ©
Прошу прощения, ты не пробовал книги читать по данной тематике ?
Или хотя бы хелпы ?