|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
проверка на унекальность в таблице при добовлении
Привет всем.... не могу понять как проверить есть ли такая же запись в бд
есть таблица в нее добовляю данные как сделать проверку есть ли такиее данные в таблице id ключевое поле и есть nomer текстовое оно тоже унекальное тоесть при добовлении в таблицу надо проверить нет ли в поле nomer такого же числа если нет то добавить если есть то не добовляем PHP код:
|
#2
|
||||
|
||||
[off]"унекальность", "добовлении"... а почему у Вас проблема с русским?[/off]
попробуй поюзать разные вариации "select..." Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#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; взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя Последний раз редактировалось 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
|
|||
|
|||
так у вас ошибка синтаксиса, где-то не хватает '
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |