Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Изменить строку в базе?


Автор: Nicholas 14.5.2005, 07:40
Код

procedure TfrmMain.AddRecordToMSAccessDB;
var
  lADOQuery: TADOQuery;
  lUniqueNumber: Integer;
begin
  if Trim(EditTextBox.Text) <> '' then
  begin
    lADOQuery := TADOQuery.Create(nil); 
    with lADOQuery do
    begin 
      ConnectionString := Global_DBConnection_String;
      SQL.Text         := 
        'SELECT Number from Users';
      Open;
      Last;
      // Generate Unique Number (AutoNumber in Access)
      Try
      lUniqueNumber := 1 + StrToInt(FieldByName('Number').AsString);
      Except
      lUniqueNumber := 1;
      end;
      Close;
      // Insert Record into MSAccess DB using SQL
      SQL.Text :=
        'INSERT INTO Users Values (' +
        IntToStr(lUniqueNumber) + ',' +
        QuotedStr(UpperCase(EditTextBox.Text)) + ',' +
        QuotedStr(IntToStr(lUniqueNumber)) + ')';
      ExecSQL;
      Close;
      // This Refreshes the Grid Automatically
      Timer1.Interval := 5000;
      Timer1.Enabled  := True;
    end;
  end;
end;


А как строку изменить? Я в запросе пишу:
UPDATE Users SET User='New' WHERE LOWER(User) = "Old';

Delphi говорит LOWER эту функцию не знаю!
Ок, убераю ее, новая ошибка синтаксис UPDATE не верный!??

Покажите пример правильной функции изменения строки на подобии вышеуказанной.
smile

Автор: DimW 14.5.2005, 11:57
Код

UPDATE USERS
SET
USER = 'NEW'
WHERE USER = 'OLD'

Добавлено @ 12:06
Сори... Все из за того что USER зарезирвированное слово.
замени имя поля (USER) таблицы на что нить....
smile

Автор: Nicholas 15.5.2005, 09:45
Цитата(DimW @ 14.5.2005, 11:57)
Все из за того что USER зарезирвированное слово


Изменил, но работает только без Lower - почему же эту функцию не узнает?

Автор: Vit 15.5.2005, 10:28
Где-то в Program files/Common Files/Microsoft есть файл jetsql40.chm или как-то похоже называющийся где приведены все поддерживающиеся конструкции SQL для MS Access

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)