max값 구해서 자동증가시키기위해 아래처럼 하니까 type mismatch 에러가 생기는데요.. 코드 좀 봐주세요... 파라독스에 num필드type은 N, PK입니다.
procedure TForm1.button2Click(Sender: TObject);
var maxnum : integer;
begin
datamodule1.aa.Close;
datamodule1.aa.SQL.Clear;
datamodule1.aa.SQL.Add('select max(num) as maxnum from test');
datamodule1.aa.Open;
maxnum := datamodule1.aa.fieldbyname('maxnum').AsInteger;
datamodule1.aa.close;
datamodule1.aa.sql.clear;
datamodule1.aa.sql.add('insert into test (num, 학년, 이름, 국어, 영어,
수학)');
datamodule1.aa.sql.add('values (:num, :학년, :이름, :국어, :영어, :수학)');
datamodule1.aa.ParamByName('num').asinteger:=maxnum+1;
datamodule1.aa.ParamByName('학년').asstring:=(combobox1.text);
datamodule1.aa.ParamByName('이름').asstring:=(combobox2.text);
datamodule1.aa.ParamByName('국어').asstring:=(combobox3.text);
datamodule1.aa.ParamByName('영어').asstring:=(combobox4.text);
datamodule1.aa.ParamByName('수학').asstring:=(combobox4.text);
datamodule1.aa.execsql;
보게 되었네요..
datamodule1.aa.ParamByName('num').asstring:=maxnum+1;
를
이렇게
datamodule1.aa.ParamByName('num').asinteger:=maxnum+1;
그리고 한가지 팁을 알려 드리면 에디터 하단에 나오는 에러메세지를 클릭하고
F1을 누르면 에러메세지에 대한 예도 나옵니다.
자료형은 항상 확인하세요.