我写在procedure TF_lr.BitBtn1Click(Sender: TObject);
end.
end.
解决方案 »
- Delphi错误:Stack overflow
- 数据查询问题
- 关于指针
- 微软的SPEECH SDK5.1开发语音识别的问题,请高手指教
- 为什么同样的com+event object在windows 2003 server能调用,在xp上不能调用?
- 请教一个dcc32命令行参数的问题
- 请问,有没有得到本月第一天的日期函数?
- Windows Media Player 6.4控件 使用方法 希望能抛砖引玉
- 关于ADO的问题!!!
- delphi连接access问题:MSDASQL.1【...ODBC driver】和Microsoft.Jet.OLEDB.4.0【...Jet 4.0 OLE DB】
- 用Socket监听连接后怎么获取客户端的IP地址和端口号????????
- 如果能更有效地对字符串加密?
if E_spbh.Text <>'' then
begin
with ad_lr do
begin
close;
sql.clear;
sql.Add('select max(spbh) from kcb');
open;
end;
if AD_lr.Fields[0].AsInteger <> 0 then
begin
spbh1:=AD_lr.fields[0].asinteger;
spbh1:=spbh1+1 ;
end
else
spbh1:=1;
///////////到这以后已经不受你控制了
begin
with ad_lr do
begin
close;
sql.clear;
sql.Add('select max(spbh) from kcb');
open;
end;
if AD_lr.Fields[0].AsInteger <> 0 then
begin
spbh1:=AD_lr.fields[0].asinteger;
spbh1:=spbh1+1 ;
end
else
spbh1:=1;
//////////////这里以后已经不受你控制了,流程问题
整理格式一下,好象没什么问题啊???
var
spbh1 : integer;
begin
if E_spbh.Text <> '' then
begin
with ad_lr do
begin
close;
sql.clear;
sql.Add('select max(spbh) from kcb');
open;
end;
if AD_lr.Fields[0].AsInteger <> 0 then
begin
spbh1:= AD_lr.fields[0].asinteger;
spbh1:= spbh1 + 1;
end
else
spbh1:= 1;
AD_lr.Close;
AD_lr.SQL.Clear;
AD_lr.sql.add('insert into kcb(spbh,spmc,spxh,spdj,spsl,rkrq,shr,bz)values(:spbh,:spmc,:spxh,:spdj,:spsl,:rkrq,:shr,:bz)');
AD_lr.Parameters.ParamByName('spbh').value:= (spbh1);
AD_lr.Parameters.ParamByName('spmc').value:= trim(E_spmc.Text);
AD_lr.Parameters.ParamByName('spxh').value:= trim(E_spxh.text);
AD_lr.Parameters.ParamByName('spdj').value:= trim(E_spdj.text);
AD_lr.Parameters.ParamByName('spsl').value:= trim(E_spsl.text);
AD_lr.Parameters.ParamByName('rkrq').value:= trim(E_rkrq.text);
AD_lr.Parameters.ParamByName('shr').value:= trim(E_shr.text);
AD_lr.Parameters.ParamByName('bz').value:= trim(E_bz.text);
AD_lr.ExecSQL;
showmessage('数据已录入');
end
else
showmessage('数据不全'); with AD_lr do
begin
close;
AD_lr.sql.Clear;
AD_lr.sql.Add('select * from kcb');
open;
end;
E_spbh.Text:= '';
E_spmc.Text:= '';
E_spxh.Text:= '';
E_spdj.Text:= '';
E_spsl.Text:= '';
E_rkrq.Text:= '';
E_shr.Text:= '';
E_bz.Text:= '';
end;
AD_lr.SQL.Clear;
AD_lr.sql.add('insert into kcb(spbh,spmc,spxh,spdj,spsl,rkrq,shr,bz)values(:spbh,:spmc,:spxh,:spdj,:spsl,:rkrq,:shr,:bz)');
AD_lr.Parameters.ParamByName('spbh').value:= (spbh1);///?
AD_lr.Parameters.ParamByName('spmc').value:= trim(E_spmc.Text);//?
AD_lr.Parameters.ParamByName('spxh').value:= trim(E_spxh.text);//?
AD_lr.Parameters.ParamByName('spdj').value:= trim(E_spdj.text);///?
AD_lr.Parameters.ParamByName('spsl').value:= trim(E_spsl.text);//?
AD_lr.Parameters.ParamByName('rkrq').value:= trim(E_rkrq.text);//?
AD_lr.Parameters.ParamByName('shr').value:= trim(E_shr.text);//?
AD_lr.Parameters.ParamByName('bz').value:= trim(E_bz.text);//?
AD_lr.ExecSQL;
showmessage('数据已录入');
即使你这些东西不输入,程序一样往下走,显示数据已经录入!!!