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

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

Create table [D7, MSSQL]


Zesik ©   (2007-05-28 22:10:00) 

Здравствуйте мастера. Имеется стандартный код по созданию таблицы

with InstalADOQuery do
begin
close;
sql.Clear;
sql.add('Create Table T_Pas');
sql.add('(ID int identity Not Null,');
sql.add('Login varchar(20) Not Null,');
sql.add('Pas varchar(20) Null,');
sql.add('Prava int Not Null)');
open;
end;

при завершении выдает ошибку о не возвращении результата сервера, хотя таблица успешно создается


Jan1   (2007-05-29 09:29:00) [1]


>
> with InstalADOQuery do


> sql.add('Pas varchar(20) Null,');
> sql.add('Prava int Not Null)');

с английским у нас туго, зачем же коверкать? уж лучше на русском бы создал...


> sql.add('(ID int identity Not Null,');

а где ПК?


sniknik   (2007-05-29 08:55:00) [2]

> хорощая шутка с ADOCommand
это не шутка. не в том, в чем ты понял...  

> А, ну очень интересно! Причем тут Борланд?
он добавил 3 лишних компонента в палитру ADO, исковеркав его принципы, "навернул" на него принципы от BDE, естественно, т.к. логика у них не стыкуется то получилось плохо. получилась такая своеобразная "логическая мина" на которой "рвутся" практически все начинающие.

конечно не только Борланд виноват, свою лепту вносят и "писатели" книг копируя старые примеры в новые книги, только добавляя модное слово ADO к началам компонент и ничего не меняя в логике. кто не видел другого, прочитал это первым начинает думать, что так и надо...

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

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


Германн   (2007-05-29 02:52:00) [3]


> Anatoly Podgoretsky ©   (28.05.07 22:29) [2]
>
> > sniknik  (28.05.2007 22:16:01)  [1]
>
> Натворил Борланд дел
>

А, ну очень интересно! Причем тут Борланд?


Zesik   (2007-05-28 23:26:00) [4]

все разобрался
вместо openнужно использовать ExecSQL


> для не возвращающих ADOCommand, что и нужно для твоего случая.
>  замени... и попробуй найти у него open... :о)


хорощая шутка с ADOCommand


Anatoly Podgoretsky   (2007-05-28 22:29:00) [5]

> sniknik  (28.05.2007 22:16:01)  [1]

Натворил Борланд дел


sniknik   (2007-05-28 22:16:00) [6]

потому как для возвращающих рекордсет команд есть ADODataSet, для не возвращающих ADOCommand, что и нужно для твоего случая. замени... и попробуй найти у него open... :о)


Наверх

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