Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2010, 15:18   #1
NewDelphi
Пользователь
 
Регистрация: 07.10.2009
Сообщений: 10
По умолчанию Вопросы по SQL

Добрый день!
1)Пожалуйста подскажите в чем синтакисческая ошибка в :
CREATE TABLE tel_numb(fio text AUTO_INCREMENT, address text, tel text)
Delphi ругается, пишет синтаксическая ошибка, если убрать AUTO_INCREMENT все работает примари кей ставил.

2) Пожалуйста подскажите как подчитать число строк в таблице SQL И вывести в label или textedit. На РНР знаю как ,а на делфи не получается(


В заранее благодарю
NewDelphi вне форума Ответить с цитированием
Старый 14.10.2010, 15:23   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

1. CREATE TABLE `DB_NAME`.`TABLE_NAME` (`id` INT (11) AUTO_INCREMENT, PRIMARY KEY(`id`)) TYPE = MyISAM /*!40100 DEFAULT CHARSET cp1251 COLLATE cp1251_general_ci */

AUTO_INCREMENT не применяется к текстовым полям

2. Labe1.Caption:= inttostr(Query.RecordCount);
_SERGEYX_ вне форума Ответить с цитированием
Старый 14.10.2010, 15:31   #3
NewDelphi
Пользователь
 
Регистрация: 07.10.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
1. CREATE TABLE `DB_NAME`.`TABLE_NAME` (`id` INT (11) AUTO_INCREMENT, PRIMARY KEY(`id`)) TYPE = MyISAM /*!40100 DEFAULT CHARSET cp1251 COLLATE cp1251_general_ci */

AUTO_INCREMENT не применяется к текстовым полям
Всеравно выдает синтаксическую ошибку(
я до этого пробывал разные типы данных

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение

2. Labe1.Caption:= inttostr(Query.RecordCount);
Выдает ошибку(
а как можно прицепиться к названию таблицы?

Последний раз редактировалось Stilet; 14.10.2010 в 15:46.
NewDelphi вне форума Ответить с цитированием
Старый 14.10.2010, 15:49   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

1. Ты заменил DB_NAME на имя своей БД и TABLE_NAME на имя своей таблицы (таблица не должна существовать)?
Я проверил, запрос работает.

2.
Код:
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select count(*) from <Имя_Таблицы>');
    Query1.Open;

 Labe1.Caption:= Query1.Fields[0].AsString;
_SERGEYX_ вне форума Ответить с цитированием
Старый 18.10.2010, 09:46   #5
NewDelphi
Пользователь
 
Регистрация: 07.10.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
1. Ты заменил DB_NAME на имя своей БД и TABLE_NAME на имя своей таблицы (таблица не должна существовать)?
Я проверил, запрос работает.
Странно, а у меня пишет синтаксическая ошибка(((((((((((((
NewDelphi вне форума Ответить с цитированием
Старый 18.10.2010, 09:53   #6
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Что за СУБД?
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 18.10.2010, 11:24   #7
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Скопируй свой запрос на создание таблицы ... без этого никак ...
Напиши что за БД и компоненты какие используешь ... После этого тебе смогут вразумительно ответить ...
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 18.10.2010, 12:21   #8
NewDelphi
Пользователь
 
Регистрация: 07.10.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
2.
Код:
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('select count(*) from <Имя_Таблицы>');
    Query1.Open;

 Labe1.Caption:= Query1.Fields[0].AsString;
Спасибо большое!!!!!1 отлично , работает

Цитата:
Сообщение от Sm1Le Посмотреть сообщение
Скопируй свой запрос на создание таблицы ... без этого никак ...
Напиши что за БД и компоненты какие используешь ... После этого тебе смогут вразумительно ответить ...
MS access
компоненты ADO: конектион, куери, табле

ЗАпрос обычный:
CREATE TABLE tel_numb(fio int, address text, tel text)

Но если сделать:
CREATE TABLE tel_numb (fio int AUTO_INCREMENT, address text, tel text)
идет ошибка, пробывал и int(10) и т.д.

Последний раз редактировалось Stilet; 18.10.2010 в 12:53.
NewDelphi вне форума Ответить с цитированием
Старый 18.10.2010, 13:06   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
MS access
с этого и надо было начинать!

нет в этой СУБД типа Int с AutoIncrement - а есть тип данных "счётчик" (counter)
попробуйте:
Код:
CREATE TABLE tel_numb (fio counter, address text, tel text)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.10.2010, 13:19   #10
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Код:
CREATE TABLE asdzxc
(a_id AUTOINCREMENT PRIMARY KEY,
a_bumbum VARCHAR(100) NOT NULL );
особенность субд
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15