Показать сообщение отдельно
  #5  
Старый 05.09.2008, 18:30
LDV LDV вне форума
Прохожий
 
Регистрация: 03.05.2008
Сообщения: 14
Репутация: 10
По умолчанию

Запрос 100% правильный. Нужно грамотно сделать выборку. Типа:
PHP код:
function Tdatamodule_Connection.FindByField(const FieldName
  
FieldValuestring): Integer
begin 
  Result 
:= -1
  if 
ConnectionStatus csConnected then 
  begin 
    
// cmp_Query_.SQL.Text := Format('SELECT * FROM ITEM WHERE %s = %s', [FieldName, FieldValue]); 
   
cmp_Query_.Close;  
   
cmp_Query_.SQL.Text := 'SELECT * FROM ITEM WHERE ' FieldName ' = :FieldValue'
    if 
not cmp_Query_.Prepared then 
      cmp_Query_
.Prepare
   if 
что-то then // может быть проверять тип поля (числовой или текстовый, и как нибудь по другому)
     
cmp_Query_.ParamByName('FieldValue').AsInteger := StrToInt(FieldValue)
   else  
     
cmp_Query_.ParamByName('FieldValue').AsString := FieldValue
    
cmp_Query_.ExecSQL
    
Result := cmp_Query_.RowsAffected
  
end
  
FSelectedByKey := False
end
Ответить с цитированием