数据表student
字段:
studentno long integer
studentname alpha
kemu1 number
kemu2 number1,我的buttonprocedure TForm1.Button3Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('insert student values(:a,:b,:c,:d)');
ParambyName('a').AsInteger:=StrToInt(Trim(MaskEdit1.Text));
ParambyName('b').AsString:=Trim(MaskEdit2.Text);
ParambyName('c').AsInteger:=StrToInt(Trim(MaskEdit3.Text));
ParambyName('d').AsInteger:=StrToInt(Trim(MaskEdit4.Text));
post;
end;
end;2,query1设置DatabaseName设置为StudentStatic为什么我的不不新增?谢谢!
字段:
studentno long integer
studentname alpha
kemu1 number
kemu2 number1,我的buttonprocedure TForm1.Button3Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('insert student values(:a,:b,:c,:d)');
ParambyName('a').AsInteger:=StrToInt(Trim(MaskEdit1.Text));
ParambyName('b').AsString:=Trim(MaskEdit2.Text);
ParambyName('c').AsInteger:=StrToInt(Trim(MaskEdit3.Text));
ParambyName('d').AsInteger:=StrToInt(Trim(MaskEdit4.Text));
post;
end;
end;2,query1设置DatabaseName设置为StudentStatic为什么我的不不新增?谢谢!
begin
close;
sql.Clear;
sql.Add('insert student values(:a,:b,:c,:d)');
ParambyName('a').AsInteger:=StrToInt(Trim(MaskEdit1.Text));
ParambyName('b').AsString:=Trim(MaskEdit2.Text);
ParambyName('c').AsInteger:=StrToInt(Trim(MaskEdit3.Text));
ParambyName('d').AsInteger:=StrToInt(Trim(MaskEdit4.Text));
exexsql;
end;
begin
close;
sql.Clear;
sql.Add('insert into student values(:a,:b,:c,:d)');
ParambyName('a').AsInteger:=StrToInt(Trim(MaskEdit1.Text));
ParambyName('b').AsString:=Trim(MaskEdit2.Text);
ParambyName('c').AsInteger:=StrToInt(Trim(MaskEdit3.Text));
ParambyName('d').AsInteger:=StrToInt(Trim(MaskEdit4.Text));
Execsql;
end;
改了数据表名,也出一样的错!to 36(高桥)
insert 没错吧!
也出错
字段类型不是string
studentname alpha
begin
Append;
FieldbyName('a').asString:=Trim(MaskEdit1.Text);
...
Post;
end;
with query1 do
begin
close;
sql.Clear;
sql.Add('insert into student values(:a,:b,:c,:d)');
Parameters.ParambyName('a').AsInteger:=StrToInt(Trim(MaskEdit1.Text));
Parameters.ParambyName('b').AsString:=Trim(MaskEdit2.Text);
Parameters.ParambyName('c').AsInteger:=StrToInt(Trim(MaskEdit3.Text));
Parameters.ParambyName('d').AsInteger:=StrToInt(Trim(MaskEdit4.Text));
Execsql;
end;
最后是要用 Execsql,他是执行不返回结果集的sql语句
Type mismatch in expression.
是你加的数据可能与你表中的数据类型不一致
with query1 do
begin
Append;
FieldbyName('a').asString:=Trim(MaskEdit1.Text);
...
UpdateBatch();
end;
注意到我表字段类型:
数据表student
字段:
studentno long integer
studentname alpha
kemu1 number
kemu2 number
改动的地方2处:
1,insert---->insert into
sql.Add('insert into student values(:a,:b,:c,:d)');2,AsInteger----->AsFloat,StrToFloat---->StrToFloat即:
with query1 do
begin
close;
sql.Clear;
sql.Add('insert into student values(:a,:b,:c,:d)');
Parameters.ParambyName('a').AsInteger:=StrToInt(Trim(MaskEdit1.Text));
Parameters.ParambyName('b').AsString:=Trim(MaskEdit2.Text);
Parameters.ParambyName('c').AsFloat:=StrToFloat(Trim(MaskEdit3.Text));
Parameters.ParambyName('d').AsFloat:=StrToFloat(Trim(MaskEdit4.Text));
Execsql;
end;