![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет всем.... не могу понять как проверить есть ли такая же запись в бд
есть таблица в нее добовляю данные как сделать проверку есть ли такиее данные в таблице id ключевое поле и есть nomer текстовое оно тоже унекальное тоесть при добовлении в таблицу надо проверить нет ли в поле nomer такого же числа если нет то добавить если есть то не добовляем PHP код:
|
|
#2
|
||||
|
||||
|
[off]"унекальность", "добовлении"... а почему у Вас проблема с русским?[/off]
попробуй поюзать разные вариации "select..." |
|
#3
|
|||
|
|||
|
вот как-то так (мож где-то и ошибся, хз, на лету писал, но смысл должен быть понятен):
Код:
var
cnt: integer;
begin
........................
ADOQuery1.SQL.Text = 'SELECT COUNT(*) AS cnt FROM tabli WHERE nomer = ' + #39+nomer+#39;
ADOQuery1.SQL.Open;
cnt := ADOQuery1.FieldByName('cnt').AsInteger;
ADOQuery1.SQL.Close;
if cnt = 0 then
begin
ADOQuery1.SQL.Text = 'INSERT INTO tabli(nomer,rnn,title_tovar,title_kontora) VALUES '+
(' + #39+nomer+#39+','+#39+rnn+#39+','+#39+title_tovar+#39+','+#39+title_kontora+#39+')';
ADOQuery1.ExecSQL;
end else
ShowMessage('Такая запись уже есть в таблице! Нихера не уникально');
end;P.S.: так и не понял к чему было form1.ADOQuery1.SQL.Create; Последний раз редактировалось Assistant, 07.04.2011 в 01:25. |
|
#4
|
||||
|
||||
|
Ну вот так можно:
Код:
ADOQuery1.SQL.Text := 'select * from tabli where nomer=:nomer and rnn=:rnn and title_tovar=:title_tovar and title_kontora=:title_kontora';
ADOQuery1.Parameters.ParamValues['nomer'] := nomer;
ADOQuery1.Parameters.ParamValues['rnn'] := rnn;
ADOQuery1.Parameters.ParamValues['title_tovar'] := title_tovar;
ADOQuery1.Parameters.ParamValues['title_kontora'] := title_kontora;
ADOQuery1.Open;
if not ADOQuery1.isEmpty then ShowMessage('Есть уже такая'); |
|
#5
|
|||
|
|||
|
что то не то.....
|
|
#6
|
|||
|
|||
|
В каком смысле что то не то?
в запросе который дал Страдалецъ ответ на ваш вопрос присутствует Код:
ADOQuery1.SQL.Text := 'select Nomer from tabli where nomer=:nomer '; ADOQuery1.Parameters.ParamValues['nomer'] := nomer; ADOQuery1.Open; |
|
#7
|
|||
|
|||
|
я делаю это в одельном потоке....
и ругаеться на Form1.ADOQuery1.Open;[Error] Unit2.pas(95): Missing operator or semicolon |
|
#8
|
|||
|
|||
|
так у вас ошибка синтаксиса, где-то не хватает '
|