Здравствуйте, есть проблема в записи в базу данных:
Код:
procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
ADOQuery1.SQL.Clear();
ADOQuery1.SQL.Text:='INSERT INTO table1 ([Name],[Numb],[Dept],[Info],[Noth]) VALUES (:Param1,:Param2,:Param3,:Param4,:Param5)';
ADOQuery1.Parameters.ParamByName('Param1').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Param2').Value:=Edit2.Text;
ADOQuery1.Parameters.ParamByName('Param3').Value:=Edit3.Text;
ADOQuery1.Parameters.ParamByName('Param4').Value:=Edit4.Text;
ADOQuery1.Parameters.ParamByName('Param5').Value:=Edit5.Text;
Adoquery1.ExecSQL;
AdoQuery1.Close;
AdoTable1.Active := false;
AdoTable1.Active := true;
Label1.Caption:=Edit1.Text;
end;
Если в последний Edit поставить один символ, то все нормально записывается, а если поставить два, то - ошибка "Изменения не были успешно внесены из-за повторяющихся значений в индексе и т.д."
Поле Noth в таблице текстовое, ввожу тоже текст, ключа на нем нет. Даже если убрать Edit5, Param5 и поле Noth, то ругаться будет на предыдущее поле.