query.Insert;
// query.FieldByName('PgID').AsInteger:=strtoint(edit1.text);
query.FieldByName('PgName').AsVariant:=edit2.Text;
query.FieldByName('PgSize').AsVariant:=edit3.Text;
query.FieldByName('PgTitle').AsVariant:=edit4.Text;
query.FieldByName('PgTimecodeIn').AsVariant:=edit5.Text;
query.FieldByName('PgDuration').AsVariant:=edit6.Text;
query.FieldByName('PgBarcode').AsVariant:=edit7.Text;
query.FieldByName('PgServerIP').AsVariant:=edit8.Text;
query.FieldByName('PgStation').AsVariant:=edit9.Text;
query.FieldByName('PgType').AsVariant:=edit10.Text;
query.FieldByName('PgType_AD').AsVariant:=edit11.Text;
query.FieldByName('PgProfile').AsVariant:=edit12.Text;
query.FieldByName('PgBitRate').AsVariant:=edit13.Text;
query.FieldByName('PgLifeEnd').AsVariant:=edit14.Text;
query.FieldByName('PGOther').AsVariant:=edit15.Text;
query.Post;
这段代码执行后,数据库中并没有添加的记录,其中PgID是关键字段,数据库用的是SQL Server?
// query.FieldByName('PgID').AsInteger:=strtoint(edit1.text);
query.FieldByName('PgName').AsVariant:=edit2.Text;
query.FieldByName('PgSize').AsVariant:=edit3.Text;
query.FieldByName('PgTitle').AsVariant:=edit4.Text;
query.FieldByName('PgTimecodeIn').AsVariant:=edit5.Text;
query.FieldByName('PgDuration').AsVariant:=edit6.Text;
query.FieldByName('PgBarcode').AsVariant:=edit7.Text;
query.FieldByName('PgServerIP').AsVariant:=edit8.Text;
query.FieldByName('PgStation').AsVariant:=edit9.Text;
query.FieldByName('PgType').AsVariant:=edit10.Text;
query.FieldByName('PgType_AD').AsVariant:=edit11.Text;
query.FieldByName('PgProfile').AsVariant:=edit12.Text;
query.FieldByName('PgBitRate').AsVariant:=edit13.Text;
query.FieldByName('PgLifeEnd').AsVariant:=edit14.Text;
query.FieldByName('PGOther').AsVariant:=edit15.Text;
query.Post;
这段代码执行后,数据库中并没有添加的记录,其中PgID是关键字段,数据库用的是SQL Server?
query1.append;AsVariant改为.asstring;
看看行不行
strtoint(edit1.text);这种做法有问题。
Post;
except
on error E:Exception do showmessage(E.message);
end;
TQuery一般来说不要用这种办法添加记录。用这东西添加一般应该这样写:
with Query1 do
begin
close;
SQL.clear;
SQL.add(format('Insert 表 value(''%s'',''%s''....)',[Edit1.Text,Edit2.Text...]));
ExecSQL;//千万不要用Open
end;