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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2010, 11:39   #1
onixred
работаю
Пользователь
 
Аватар для onixred
 
Регистрация: 23.03.2009
Сообщений: 18
По умолчанию SQL запрос база mysql

Возник вопрос почему первичный ключ не создаеться сам
мне приходиться прописывать вручную
Код:
DataModule2.ClientDataSet1.Fields[0].AsInteger:=4;
но я читал где то что этого можно избежать но забыл как((
подскажите плисссс(

Цитата:
DataModule2.ClientDataSet1.Insert;
DataModule2.ClientDataSet1.Fields[1].AsInteger:=55;
DataModule2.ClientDataSet1.Fields[0].AsInteger:=4;
DataModule2.ClientDataSet1.ApplyUpd ates(3) ;

Последний раз редактировалось onixred; 29.07.2010 в 05:57.
onixred вне форума Ответить с цитированием
Старый 28.07.2010, 12:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Возник вопрос почему первичный ключ не создаеться сам
А чего он сам должен создаваться, коли ты его не создал?
Показывай как создаешь таблицу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2010, 13:47   #3
onixred
работаю
Пользователь
 
Аватар для onixred
 
Регистрация: 23.03.2009
Сообщений: 18
По умолчанию

таблица уже создана мне нужно ее тока заполнить я создавал ее через phpMyAdmi
где то читал что там функция определяет прошлый номер первичного ключа и потом нужно просто прибавить +1 и присвоить
через phpMyAdmi там она сама первичный ключ изменяет.

Последний раз редактировалось onixred; 28.07.2010 в 13:51.
onixred вне форума Ответить с цитированием
Старый 28.07.2010, 14:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так когда создавал БД ты там указал первичный ключ и галочку автоинкремента?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2010, 14:52   #5
onixred
работаю
Пользователь
 
Аватар для onixred
 
Регистрация: 23.03.2009
Сообщений: 18
По умолчанию

да я указал

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

Последний раз редактировалось Stilet; 28.07.2010 в 15:31.
onixred вне форума Ответить с цитированием
Старый 28.07.2010, 15:34   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
onixred
Хм... Знаешь яб на твоем месте не методами типа Insert и ApplyUpdates пользовался а прям команду SQL-INSERT сформировал и скормил бы МуСкулу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.07.2010, 15:53   #7
onixred
работаю
Пользователь
 
Аватар для onixred
 
Регистрация: 23.03.2009
Сообщений: 18
По умолчанию

нашел выход (не гуманый)
Код:
{--------------}
DataModule2.ClientDataSet1.First;
i:=0;
while not (DataModule2.ClientDataSet1.Eof) do
begin
if  (datamodule2.ClientDataSet1.Fields[0].AsInteger>i) then
begin i:=datamodule2.ClientDataSet1.Fields[0].AsInteger;  datamodule2.ClientDataSet1.Next;  end else begin break; end;
end;
DataModule2.ClientDataSet1.Insert;
DataModule2.ClientDataSet1.Fields[1].AsString:=IDdryga;
 DataModule2.ClientDataSet1.Fields[0].AsInteger:=i+1;
DataModule2.ClientDataSet1.ApplyUpdates(3) ;
{-------------}
ищем самый большой номер ключа и добавляем единицу ))

я плохо знаю sql запросы (

нужна помошь мне нужно сделать sql запрос сравнить два поля и еще сравнить поле с переменой я сделал так
Код:
select * from  Spisok_druzei,  Spisok_druzei_uzerov WHERE 

 ((Spisok_druzei.id_Druga=Spisok_druzei_uzerov.id_druga)and (uzerV=1))
uzerV- он незнает такую переменую что делать?

Последний раз редактировалось Stilet; 29.07.2010 в 09:23.
onixred вне форума Ответить с цитированием
Старый 29.07.2010, 09:25   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
select * from  Spisok_druzei,  Spisok_druzei_uzerov WHERE 

 ((Spisok_druzei.id_Druga=Spisok_druzei_uzerov.id_druga)and (ПолекотороеНужноСравнить='+QuotedStr(переменка)+'));
Хотя малопоинформативный вопрос получился.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.08.2010, 06:19   #9
onixred
работаю
Пользователь
 
Аватар для onixred
 
Регистрация: 23.03.2009
Сообщений: 18
По умолчанию

мега спс а то я пошел другим путем тоже не плохой )
Код:
datamodule2.SimpleDataSet6.DataSet.CommandText:= 'select * from  Spisok_druzei,  Spisok_druzei_uzerov,Uzer 
WHERE  ((Spisok_druzei.id_Druga=Spisok_druzei_uzerov.id_druga) 
and (Spisok_druzei.id_Uzera=Uzer.ID_Uzera) 
and ('+uzerV+'=Uzer.ID_Uzera)) ';

Последний раз редактировалось onixred; 03.08.2010 в 06:22.
onixred вне форума Ответить с цитированием
Старый 03.08.2010, 16:30   #10
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

В добавок можешь посмотреть про реализацию последовательности в Мускуле http://club.shelek.ru/viewart.php?id=317
И реализовывать это запросами.
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mySQL+DELPHI от и до shuhermayer SQL, базы данных 21 20.10.2011 21:22
Delphi+MySQL prod87 БД в Delphi 2 18.08.2010 10:09
Mysql + Delphi ToLeG БД в Delphi 4 26.06.2009 11:11
Delphi+Mysql rangel Общие вопросы Delphi 0 28.05.2009 12:06
MySQL+Delphi Toxa Общие вопросы Delphi 3 23.01.2007 18:24