Добрый день!
Пытаюсь делать на Delphi7 + SQLExpress2005, ADO, провайдер OLEDB
Простой запрос:
update managers
set
firstname = :par1,
surname = :par2,
lastname = :par3,
password = :par4,
position = :par5,
department = :par6
where
id = :manager_id
Параметры задаю:
with mwsDataModule.ADOQChangeManager do
begin
Connection := mwsConnectForm.ADOConn;
Parameters.ParamByName('manager_id').DataType := ftInteger;
Parameters.ParamByName('manager_id').Value := mwsConnectForm.mwsManagerId;
Parameters.ParamByName('par1').DataType := ftString;
Parameters.ParamByName('par1').Value := mwsNewManagerForm.mwsNewManagerFormFirstnameEdit.Text;
Parameters.ParamByName('par2').DataType := ftString;
Parameters.ParamByName('par2').Value := mwsNewManagerForm.mwsNewManagerFormSurnameEdit.Text;
Parameters.ParamByName('par3').DataType := ftString;
Parameters.ParamByName('par3').Value := mwsNewManagerForm.mwsNewManagerFormLastnameEdit.Text;
Parameters.ParamByName('par4').DataType := ftString;
Parameters.ParamByName('par4').Value := mwsNewManagerForm.mwsNewManagerFormPasswordEdit.Text;
Parameters.ParamByName('par5').DataType := ftString;
Parameters.ParamByName('par5').Value := mwsNewManagerForm.mwsNewManagerFormPositionEdit.Text;
Parameters.ParamByName('par6').DataType := ftString;
Parameters.ParamByName('par6').Value := mwsNewManagerForm.mwsNewManagerFormDepartmentEdit.Text;
Prepared;
ExecSQL;
end;
В базе:
CREATE TABLE [dbo].[managers](
[id] [int] IDENTITY(1,1) NOT NULL,
[login] [varchar](20) NOT NULL,
[firstname] [varchar](50) NULL,
[surname] [varchar](50) NULL,
[lastname] [varchar](50) NULL,
[password] [varchar](20) NOT NULL,
[position] [varchar](100) NULL,
[department] [varchar](100) NULL,
CONSTRAINT [PK_managers] PRIMARY KEY CLUSTERED
(
[id] ASC
),
UNIQUE NONCLUSTERED
(
[login] ASC
)
) ON [PRIMARY]
И, и, и ошибка:
Conversion failed when converting the varchar value 'name' to datatype intЕсли пишу тот же запрос без параметров, то он выполняется.