![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
YurKaluga |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Проблема вот в чем - создаю таблицу с помощью Query:
Код Query1.SQL.Text:='Create table Teams '+ '(Code Autoinc,'+ ' Name character(50),'+ ' Country SmallInt DEFAULT 1,'+ ' City SmallInt,'+ ' Trainer character(150),'+ ' Glasses SmallInt DEFAULT 0,'+ ' Primary Key (Code))'; Query1.ExecSQL; Таблица создается, но значения по-умолчанию не цепляются. :fire: Почему? Может знаете? |
hiv |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
У каждой БД свой диалект SQL. Что у тебя за БД?
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я из Delphi пытаюсь создать таблицу Paradox для BDE.
|
hiv |
![]()
Сообщение
#4
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Попробуй значения по умолчанию поставить в одинарные кавычки:
Код default '0'; Может поможет. PS: Смотри справку localSQL.hlp в каталоге где стоит BDE. Сообщение отредактировано: hiv - 7.09.2005 10:46 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну, как бы в кавычки я могу взять только в двойные - проскакивает без ошибок, но не помогает. А в хелпе про это ни слова!
|
hiv |
![]()
Сообщение
#6
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Матчасть учить надо: во всех паскалях от борланд в том числе и в Delphi пишется так
writeln('You''ll'); \\ это будет You'll -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я и говорю, двойные кавычки не помогают. Сам попробуй! Может разница в BDE?
|
hiv |
![]()
Сообщение
#8
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
В одинарных пробуй (внимательнее мой предыдущий пост посмотри)
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да пробовал я. В нете еще встречается конструкция типа NOT NULL перед DEFAULT, оно обязательно?
|
hiv |
![]()
Сообщение
#10
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
обычно конечно их вместе используют. попробуй, но наверно дело не в этом.
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#11
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да не выходит каменный цветок!!!
![]() |
hiv |
![]()
Сообщение
#12
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Выложи исходники - я попробую помучиться...
ЗЫ: Наверное все программисты отчасти мазохисты. ![]() -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#13
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да, собственно, весь исходник в первом сообщении.
Таблица создается. Потом я смотрю ее структуру в Database Desktop. Там есть окошко Default value, куда можно вписать значение по умолчанию для каждого поля. Но оно пустое. При создании таблицы в Database Desktop в это поле вписываешь значение и оно запоминается где-то. При вставке новой записи в таблицу эти значения подставляются автоматически. То же самое мне нужно сделать программно. У меня в базе есть таблицы с кучей полей, и при вставке новой записи как-то не хочется прописывать их значения - макаронный код получается. |
hiv |
![]()
Сообщение
#14
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Я с BDE давно не работаю - и как ты создаешь свою БД не знаю. Одного SQL запроса там мало - шли исходники полностью - тогда буду смотреть...
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#15
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(hiv @ 9.09.05 12:03) шли исходники полностью - тогда буду смотреть... А исходники чего нужны? Я что-то не пойму. Мне же нужно всего-то - разобраться, как создавать таблицу. |
hiv |
![]()
Сообщение
#16
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Так ты говоришь что этим SQL скриптом ты ее создал. У меня просто так не создается, нужно либо альясы прописывать, либо еще какие-то телодвижения делать чтобы файл с таблицей создавать. Как делаешь ты - я не знаю. У меня пока файл парадокса создать не удается. Только DBASE DBF.
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#17
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код Query1.DatabaseName:=ExtractFilePath(Application.ExeName); Query1.SQL.Text:='Create table Teams '+ '(Code Autoinc,'+ ' Condition character(1),'+ ' FullName character(200),'+ ' Name character(50),'+ ' Country SmallInt default 1,'+ ' City SmallInt,'+ ' Chief character(150),'+ ' Trainer character(150),'+ ' Memo Blob(200,1),'+ ' Glasses SmallInt default 0,'+ ' Primary Key (Code))'; Query1.ExecSQL; На сколько я помню, файл Paradox создается по-умолчанию (поэтому я не указываю расширение после имени таблицы), а чтобы создался DBASE нужно как-то по другому объявлять имя. Вместо Alias я обычно использую DatabaseName, так проще - не нужно после создания базы прописывать псевдонимы. Установил на другую машину, указал путь к базе и все... Плюй в потолок. А делаю я следующее: бросаю на пустую форму TQuery & TButton и в обработчике нажатия кнопки пишу этот код. Никакие св-ва у компонентов не меняю. Судя по всяким help'ам все должно работать. В принципе и не ругается. Но и не делает того, что обещано |
hiv |
![]()
Сообщение
#18
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Блин изврат какой.... не получается... там даже не все определения ALTER TABLE есть... Выкинь BDE и работай с нормальными СУБД (хотябы Interbase, Firebird). Там для создания БД нужно просто скриптик запустить или команду дать (что из Дельфей тоже можно сделать через WinExec)
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
YurKaluga |
![]()
Сообщение
#19
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 53 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да фигня в том, что программа уже написана, база готова. Я сначала делал копирование эталонных таблиц, но при копировании куда-то деваются индексы, т.е. поле есть, написано, что оно индексное, а индексов нет. А еще неудобно за собой таскать папку с эталонами. Поэтому и решил таблички создавать из программы. А переписывать на другую СУБД уже поздно - в программе одних форм уже штук 40 и почти на каждой есть Query или Table и не по-одной.
Плюс, программа работает с локальной БД, так что ставить вместе с ней что-то серьезное не серьезно. Есть конечно задумка переписать на сервер, но неохота - слишком много лопатить прийдется. Ладно, спасибо за возню со мной. Буду думать что-нибудь еще. |
![]() ![]() |
![]() |
Текстовая версия | 9.07.2025 0:06 |