Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.02.2009, 16:15
Booo Booo вне форума
Новичок
 
Регистрация: 03.07.2008
Сообщения: 93
Репутация: 10
По умолчанию РЕгистраиця

В общем есть клиент есть сервере ,клиент вводит свои данные в едиты и отправляет их на сервер..там они так же проверяются и заносятся в бд..все это реализованно, вот
Код:
if (edit1.text<>'') and (edit2.text<>'') and (edit3.text<>'') and (edit4.text<>'') then
begin
 form1.ADOQuery1.Insert;
 form1.ADOQuery1Name.AsString:=Edit1.Text;
 form1.ADOQuery1Fam.AsString:=Edit2.Text;
 form1.ADOQuery1Email.AsString:=Edit3.Text;
 form1.ADOQuery1IP.AsString:=Edit4.Text;
 form1.ADOQuery1.Post;
 button3.Click;
end;
Admin: Пользуемся тегами, при рецедиве бан!

НА клиенте стоит отпределитель айпи адресса и он летит в 4-ый едит ...
Мне надо сделать так что бы в первый когда клиент запускает форму регистрации на сервер отправлялся айпи адресс с командой и айпишником ,и вот как в таблице найти айпи адрес который отправил клиент?если он его нашел то пусть вышлет команду по которой вылетет сообщение уклиента что он зарегистрирован ...
в общем я расписал много ,а суть вопроса в том что бы обьясниь мне как сделать поиск по табле (она одна единственная у меня )и написать два случая если он нашел то ... или если не нашел то ...
пробывал конкретный пример
ADOQuery1.SQL.Add('select* from ПОльзователи where IP='+QuotedStr(edit4.text));
if ADOQuery1.Eof then
showmessage ('Уже есть');
Но он в любом случае писал что он уже есть даже если я вручную отправлял айпи адресс другой меняя его он писал что такой уже есть

Последний раз редактировалось Admin, 01.02.2009 в 17:18.
Ответить с цитированием
  #2  
Старый 01.02.2009, 17:33
danswin danswin вне форума
Прохожий
 
Регистрация: 27.12.2007
Сообщения: 18
Репутация: 10
По умолчанию

Могу предложить следующее, ты когда записываешь в базу АПишник то ты можешь добавить допустим 2 поля (USER_ID и Q) пример, туда записывается апишник индивикатор пользователя он 100% один 2 их не может быть и в Q записываешь допустим 1 и при проверке от пользователя ты делаешь (сверяешь ID, в поле Q если есть 1 то выдавай на экран), и когда вылезет все ровно утебя будет кнопка закрыть и в этой кнопке сделай чтобы в поле Q сохранилась 2 и в следующей раз не будет выпазить.
Вот у меня был пример:
Есть база есть таблица с пользователями т есть таблица (назовем доки), и сделать следуюшее когда в таблице появится новая запись выводи тому пользователю которому выбралди когда сохранали в доки, вот как раз я там реализовал 2 поля кторый смог опрашивать и выводить номые записи но когда нажимал закрыть она менялась и в следуюший раз не вылазла мол типо как увеломления пример как сдлелал на Тимере:

Код HTML:
var a: String; b: String; begin IBDataSet1.Close; a:=DBEdit2.Text; IBDataSet1.SelectSQL.Clear; IBDataSet1.SelectSQL.Add('select * from fhodeshee where up = '+a+' and q = 1'); IBDataSet1.Open; b:=IBDataSet1.FieldbyName('Q').AsString; if b='1' then begin Form13.IBDataSet2.Close; Form13.Show; Form13.Timer1.Enabled:=true; Form13.Caption:=’-----.'; a:=DBEdit2.Text; Form13.IBDataSet2.SelectSQL.Clear; Form13.IBDataSet2.SelectSQL.Add('select * from fhodeshee where up = '+a+' and q = 1'); Form13.IBDataSet2.Open; Form13.IBDataSet2.Edit; end; if b='0' then begin Form13.Show; end;

в а записывается ID пользователя, а в q записывается последовательность действий
Ответить с цитированием
  #3  
Старый 01.02.2009, 18:08
Booo Booo вне форума
Новичок
 
Регистрация: 03.07.2008
Сообщения: 93
Репутация: 10
По умолчанию

Как сделать ид пользователя разжуй пожалуйста
Ответить с цитированием
  #4  
Старый 01.02.2009, 18:45
danswin danswin вне форума
Прохожий
 
Регистрация: 27.12.2007
Сообщения: 18
Репутация: 10
По умолчанию

)
Ну смотри у тебя где пользователи храняться? в какой таблице? ты её сам ведь создаешь?
Ответить с цитированием
  #5  
Старый 01.02.2009, 18:50
Booo Booo вне форума
Новичок
 
Регистрация: 03.07.2008
Сообщения: 93
Репутация: 10
По умолчанию

У меня всего одна табла )) так и называется Пользователи ,просто я вообще первый раз работаю с бд и с языком запросов)))Слушай не дашь свою асю или не мне не отпишешь что бы с этим делом разобраться плз?471364929
Ответить с цитированием
  #6  
Старый 01.02.2009, 19:02
danswin danswin вне форума
Прохожий
 
Регистрация: 27.12.2007
Сообщения: 18
Репутация: 10
По умолчанию

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

Так что тебе нужно?
Ответить с цитированием
  #7  
Старый 01.02.2009, 19:10
Booo Booo вне форума
Новичок
 
Регистрация: 03.07.2008
Сообщения: 93
Репутация: 10
По умолчанию

В общем это регистрация без пароля))это просто как бы сказать обязательное заполнение своего профиля )))
вот эо заполнение профиля(информации о себе )я буду называть регистрацией,и вот зарегистрироваться уже ясно как ,сделано ,но вот пользователь один и тот же мог регистрироваться сколько угодно ,и это выгляжело бы как новый пользователь ..в общем я хотел сделать так что если пользователь уже зарегистрировался то процесс регистрации закрывался бы ,то есть просто сворачиваем эту форму ,это я хотел сделать через айпишник он при коннекте автоматом отправлялся на сервер (вот тут то у меня и возникла проблема поиска такого же айпишника и что делать с результатом поиска ,чтоя досих пор незнаю),а сервер тем неменее смотрел ,если результаты поиска по табле неравны нулю то отправлял команду по которой у клиента сворачивалась форма регистрации,иначе если же результат поиска равен нулю то пользователь мог продолжить регистрацию ,в общем я умею тока заносить данные в таблу пришедшие от клиента а как с поиском и так дале разобраться я не всекаю..надеюсь подкорректировал вопрос
Ответить с цитированием
  #8  
Старый 01.02.2009, 19:16
danswin danswin вне форума
Прохожий
 
Регистрация: 27.12.2007
Сообщения: 18
Репутация: 10
По умолчанию

Ну тогда нужно тебе знать как выташить из системы твой апишник это раз во 2-х нужно все ровно в таблице у пользователей сделать поле IP и туда заносить тот апишник который у клиенте на компе, тоетсь ты регистрируешся у тебя из системы берется апи вставляется в таблицу твою и когда в последуший раз ты открываеш прогу она уже должна сверять апишник в базу и апигник на клиенте физически, если верно то регистрацию пропускаем и переходит в основную форму если не похож ии нет апишника то регистрация,
Вот если ты знаеш как вытащить из системы апи то думаю ты сможешщ реализовать, а я не наю как вытащить из системы, зналбы товно бы сказал )
Ответить с цитированием
  #9  
Старый 01.02.2009, 19:22
Booo Booo вне форума
Новичок
 
Регистрация: 03.07.2008
Сообщения: 93
Репутация: 10
По умолчанию

Вытащить айпи из системы есть такой компонент))все реализовано))))ты лучше помоги как свериться))
Ответить с цитированием
  #10  
Старый 01.02.2009, 19:23
danswin danswin вне форума
Прохожий
 
Регистрация: 27.12.2007
Сообщения: 18
Репутация: 10
По умолчанию

выложи код и куда ты его вытаскиваешь? в каком виде он находится лучше когд)
Ответить с цитированием
  #11  
Старый 01.02.2009, 19:54
Booo Booo вне форума
Новичок
 
Регистрация: 03.07.2008
Сообщения: 93
Репутация: 10
По умолчанию

Вроде разобрался хотя есть вопросы

Последний раз редактировалось Booo, 01.02.2009 в 19:57.
Ответить с цитированием
  #12  
Старый 01.02.2009, 19:56
Booo Booo вне форума
Новичок
 
Регистрация: 03.07.2008
Сообщения: 93
Репутация: 10
По умолчанию

сейчас сделал проверку на кнопку есть ли такое же имя в табле,щас переделаю не поиск имя а поиск айпи ...
слушай скажи мне лучше каким запросом можно удалить строку в которой я искал значение поля имя ?))
нахожу с помощью Locate
Код:
if AdoQuery1.Locate(ffield, fvalue, opts) then
  ShowMessage(fvalue + ' Хопа вот он на!! ' + ffield);
а как мне вот найденную строку удалить ..хотя нет каким запросом мне ее лучше заменить то есть строка с новым пользователем создается вот так
Код:
if (edit1.text<>'') and (edit2.text<>'') and (edit3.text<>'') and (edit4.text<>'') then
 begin
  form1.ADOQuery1.Insert;
  form1.ADOQuery1Name.AsString:=Edit1.Text;
  form1.ADOQuery1Fam.AsString:=Edit2.Text;
  form1.ADOQuery1Email.AsString:=Edit3.Text;
  form1.ADOQuery1IP.AsString:=Edit4.Text;
  form1.ADOQuery1.Post;
а как мне не создавать новую строку а заменить на ту в которой я нашел одинаковое значение поля имя..корчое вот так проще сказать
,что бы пользователь мог менять свой профиль он может сам вручную опять открывать форму регистрации отправлять свои данные(естественно айпишник останется тем же)
и как сделать что бы новые данные заменили старые?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter