用ADOTABLE实现如下:首先你要在窗体上添加一个ADOTABLE,名字默认的adotable1,然后设置连接字符串,连接数据库,如果连接成功,那么用下面的代码完成需求: with ADOTable1 do begin if not Active then Open; if not Locate('MEMBER_NAME',Name,loCaseInsensitive) then //这里判断是否存在name用户 begin //如果不存在name用户,则添加记录 Insert; FieldByName('MEMBER_NAME').AsString := name; FieldByName('SEX').AsInteger := StrToInt(sex); FieldByName('NATION').AsString := nation; FieldByName('BIRTH').AsString := birthday; FieldByName('PLACE').AsString := place; FieldByName('MEMBER_ID').AsString := ID; FieldByName('POLICE').AsString := police; FieldByName('MEMBER_VALIDATE').AsString := validDate; try Post; except showmessage('数据库添加失败'); end; end else showmessage('此用户已存在'); end;
function TfrmSbManager.InsertSbTb: Boolean;
var
sqltext : string;
begin
//添加设备
sqltext := '';
Memo1.Lines.SaveToFile('c:\tempMemo.txt');
with dtmd.qyinsertsb do
begin
Close;
SQL.Clear; if PicterFilename <> '' then
begin
SQL.Add('insert into sbtb(sbid,sbname,gmdate,dj,sl,fpsl,cjname,cfdb,tel,bz,tp)');
SQL.Add('values(:#sbid,:#sbname,:#gmdate,:#dj,:#sl,:#fpsl,:#cjname,:#cfdb,:#tel,:#bz,:#tp)');
end else begin
SQL.Add('insert into sbtb(sbid,sbname,gmdate,dj,sl,fpsl,cjname,cfdb,tel,bz)');
//
SQL.Add('values(:#sbid,:#sbname,:#gmdate,:#dj,:#sl,:#fpsl,:#cjname,:#cfdb,:#tel,:#bz)');
//
end;
Parameters.ParamByName('#sbid').Value := Trim(edSbid.Text);//字符类型
Parameters.ParamByName('#sbname').Value := Trim(edSbname.Text);
Parameters.ParamByName('#gmdate').Value := FormatDateTime('yyyy-mm-dd',dtpkGmrq.Date);//日期时间类型
Parameters.ParamByName('#dj').Value := StrToFloat(edDj.Text);
Parameters.ParamByName('#sl').Value := StrToFloat(EdSl.Text);//浮点类型
Parameters.ParamByName('#fpsl').Value := 0;
Parameters.ParamByName('#cjname').Value := Trim(edCj.Text);
Parameters.ParamByName('#cfdb').Value := Trim(edDb.Text);
Parameters.ParamByName('#tel').Value := Trim(edTel.Text);
// Parameters.ParamByName('#memo').DataType := ftMemo;
Parameters.ParamByName('#bz').Value := Memo1.Text;
if PicterFilename <> '' then
Parameters.ParamByName('#tp').LoadFromFile(PicterFilename,ftBlob);//图片
try
ExecSQL;
Result := true;
except
Result := false;
end; end;
end;
SQLQuery1.SQL.Text := 'select * from memberinfo';
SQLQuery1.Append;
SQLQuery1.Close;
try
SQLQuery1.FieldByName('MEMBER_NAME').AsString := name;
if (sex <> '')then
SQLQuery1.FieldByName('SEX').AsInteger := StrToInt(sex);
SQLQuery1.FieldByName('NATION').AsString := nation;
SQLQuery1.FieldByName('BIRTH').AsString := birthday;
SQLQuery1.FieldByName('PLACE').AsString := place;
SQLQuery1.FieldByName('MEMBER_ID').AsString := ID;
SQLQuery1.FieldByName('POLICE').AsString := police;
SQLQuery1.FieldByName('MEMBER_VALIDATE').AsString := validDate;
SQLQuery1.Post;
except
showmessage('数据库中已经存在该用户信息');
end;
end;
如果用query组件,那么最好用sql语句添加
with ADOTable1 do
begin
if not Active then Open;
if not Locate('MEMBER_NAME',Name,loCaseInsensitive) then //这里判断是否存在name用户
begin //如果不存在name用户,则添加记录
Insert;
FieldByName('MEMBER_NAME').AsString := name;
FieldByName('SEX').AsInteger := StrToInt(sex);
FieldByName('NATION').AsString := nation;
FieldByName('BIRTH').AsString := birthday;
FieldByName('PLACE').AsString := place;
FieldByName('MEMBER_ID').AsString := ID;
FieldByName('POLICE').AsString := police;
FieldByName('MEMBER_VALIDATE').AsString := validDate;
try
Post;
except
showmessage('数据库添加失败');
end;
end else showmessage('此用户已存在'); end;