Работа с IBX
Добавлено: 15 апр 2006, 15:18
Привет всем!
При переходе на компоненты IBX возникла проблема с редактированием записи.
пробовал так
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('UPDATE USERACCT SET IS_ACTIVE = ' + Trim (Edit1.Text) + ',LASTDATE = ' + DateTimeToStr(Now));
IBSQL1.SQL.Add('WHERE USERNBR = 1');
IBSQL1.ExecQuery;
генерирует sql error - не нравится формат даты
раньше все было просто
ExecQuery.Edit;
ExecQuery.FieldByName('IS_ACTIVE').AsInteger := 1;
ExecQuery.FieldByName('LAST_DATE').AsDateTime:=Now;
ExecQuery.Post;
при работе с IBDataSet сразу возник вопрос - как передать параметр
в WHERE.
раньше -
ExecQuery.Sql.Add('SELECT * FROM USERACCT');
ExecQuery.Sql.Add('WHERE USERNBR = '+IntToStr(CurrentUserNbr));
где CurrentUserNbr - глобальная переменная.
тееперь пытаюсь так -
IBDataSet1.Database := IBDatabase1;
IBDataSet1.Transaction := IBTransaction1;
IBDataSet1.SelectSQL.Strings['SELECT * FROM USERACCT WERE USERNBR = '+ Trim(Edit1.Text)];
IBDataSet1.Active := True;
выдает incompatible types string & integer
p.s статью "Работа с IBX или использование InterBase eXpress в приложениях" читал - статья прекрасная, но где живые примеры!!!
один кусок кода заменяет иногда целую книгу!
При переходе на компоненты IBX возникла проблема с редактированием записи.
пробовал так
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('UPDATE USERACCT SET IS_ACTIVE = ' + Trim (Edit1.Text) + ',LASTDATE = ' + DateTimeToStr(Now));
IBSQL1.SQL.Add('WHERE USERNBR = 1');
IBSQL1.ExecQuery;
генерирует sql error - не нравится формат даты
раньше все было просто
ExecQuery.Edit;
ExecQuery.FieldByName('IS_ACTIVE').AsInteger := 1;
ExecQuery.FieldByName('LAST_DATE').AsDateTime:=Now;
ExecQuery.Post;
при работе с IBDataSet сразу возник вопрос - как передать параметр
в WHERE.
раньше -
ExecQuery.Sql.Add('SELECT * FROM USERACCT');
ExecQuery.Sql.Add('WHERE USERNBR = '+IntToStr(CurrentUserNbr));
где CurrentUserNbr - глобальная переменная.
тееперь пытаюсь так -
IBDataSet1.Database := IBDatabase1;
IBDataSet1.Transaction := IBTransaction1;
IBDataSet1.SelectSQL.Strings['SELECT * FROM USERACCT WERE USERNBR = '+ Trim(Edit1.Text)];
IBDataSet1.Active := True;
выдает incompatible types string & integer
p.s статью "Работа с IBX или использование InterBase eXpress в приложениях" читал - статья прекрасная, но где живые примеры!!!
один кусок кода заменяет иногда целую книгу!