我是一个菜鸟!现有三个关于修改、删除、更新的问题现请教一下,请大家指教一下,谢谢!(100分)

  • 主题发起人 主题发起人 luoqing1235678
  • 开始时间 开始时间
L

luoqing1235678

Unregistered / Unconfirmed
GUEST, unregistred user!
var
syts:integer;
begin
query1.Active:=true;
with query1 do
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('update rwb set srts=wcdate-date+1 where wczt=''未完成''');
//query1.ParamByName('a').AsInteger:=query1.FieldValues['qsdate']-trunc(date)+1;
query1.ExecSQL;

end;
我想计算表中的每条记录中剩余天数(srts),用完成时间(wcdate)-当前日期!
结果提示我,缺少参数,期望值2。我用的是access数据库!
with form5.Query1 do
begin
try
form5.Query1.Edit;
form5.Query1.FieldByName('ywname').AsString:=trim(edit1.Text);
form5.Query1.FieldByName('apbm').AsString:=trim(edit2.Text);
form5.Query1.FieldByName('cbbm').AsString:=trim(edit3.Text);
form5.Query1.FieldByName('qsdate').AsDateTime:=strtodate(trim(edit5.Text));
form5.Query1.FieldByName('wcdate').AsDateTime:=strtodate(trim(edit6.Text));
form5.Query1.FieldByName('wczt').AsString:=combobox1.Text;
form5.Query1.FieldByName('sfdb').AsString:=combobox2.Text;
form5.Query1.FieldByName('zzwcdate').AsString:=trim(edit4.Text);
form5.Query1.Post;
application.MessageBox('修改成功!','提示',0+64);
except
application.MessageBox('系统出错!','提示',0+64);
close;
end;
end;
form5.DBGrid1.Refresh;
close;
end;
这个修改运行不提示错误,但没结果!
begin
if application.MessageBox('你确认要删除该条员工信息吗?','系统提示',MB_YesNo OR MB_defbutton2 or mb_iconstop or mb_applmodal)=idyes then
begin
with query1 do
begin
try
query1.Delete;
showmessage('该条员工信息已删除,删除成功!');
except
cancel;
showmessage('删除数据时出现错误,删除失败!!');
end;
end;
dbgrid1.Refresh;
end;
此删除也是如修改一样!
 
建议日期字段用TDateTimePicker控件
 
我一般用ADODataSet:
try
with ADODataSet1 do
begin
Edit;
FieldByName('ywname').AsString:=trim(edit1.Text);
FieldByName('apbm').AsString:=trim(edit2.Text);
FieldByName('cbbm').AsString:=trim(edit3.Text);
FieldByName('qsdate').AsDateTime:=DateTimePicker1.Date;
FieldByName('wcdate').AsDateTime:=DateTimePicker2.Date;
FieldByName('wczt').AsString:=combobox1.Text;
FieldByName('sfdb').AsString:=combobox2.Text;
FieldByName('zzwcdate').AsString:=trim(edit4.Text);
Post;
end;
application.MessageBox('修改成功!','提示',0+64);
except
application.MessageBox('系统出错!','提示',0+64);
end;

没时间试,可能就是这样吧
相差天数用两日期直接相减就可以得到.
 
谢谢引力,我先试试!
 
提示:不能执行一个关闭的dataset!
 
“srts=wcdate-date+1”access能这么用吗?
 
是不能用的!那可怎么办呀?
 
后面两个我已经解决了,是query属性设置的问题。请大家帮我把第一个问题解决一下好吗?
救急呀!
我是想实现修改数据表中syts(剩余天数)字段中的数据,用另一字段也就是wcdate(完成日期)-当前日期,可我用update时总提示我参数不足,期望2。请大家帮帮忙了
 
用函数求syts值
 
请大家帮忙看看,我怎么都更新不成,郁闷呀!
帮帮小妹我吧![:(]
 
2002guogan,怎么用函数求呀,能具体点吗?
 
with Query1 do
begin
close;
Sql.Clear;
Sql.Add('Update rwb Set srts=DateDiff("D",Wcdate,'+''''+Datetostr(date)+''''+')+1 where wczt='+''''+'未完成'+'''');
ExecSql;
end;
 
谢谢joe888,但还是提示[microsoft][odbc microfoft access dirver]参数不足,期待是2。
55555555555555
 
谢谢大家帮忙,终于解决了!
多亏大家帮忙!
 
后退
顶部