T_change_c是一个adotalbe,连接计数表counter
计数表有两列:id(char)和counter_value(samllint)当点击添加按钮时,实现纪录的保存
代码如下:
procedure TForm1.Button2Click(Sender: TObject);
var
counter:integer;
begin
T_stud_info_1.Open;
if T_stud_info_1.RecordCount>0 then //确认学号是否存在
begin
T_counter_c.Open;
counter:=T_counter_c['COUNTER_VALUE'];
Inc(counter); //累加学籍变更计数器
T_counter_c.Edit;
T_counter_c['COUNTER_VALUE']:=counter;
T_counter_c.Post;//修改计数器值
T_change.Open;//打开变更表追加纪录
T_change.AppendRecord([counter, i_stud_id_1.text, i_change.ItemIndex, Now, i_descrip_1.text]);
Button1Click(nil);
end
else
Application.MessageBox('请确认输入的学号是否正确!', '错误', MB_OK);
end;程序运行时提示'could not convert variant of type(null) into type(integer)
好像是计数器没有值,怎么回事?
盼回复.
计数表有两列:id(char)和counter_value(samllint)当点击添加按钮时,实现纪录的保存
代码如下:
procedure TForm1.Button2Click(Sender: TObject);
var
counter:integer;
begin
T_stud_info_1.Open;
if T_stud_info_1.RecordCount>0 then //确认学号是否存在
begin
T_counter_c.Open;
counter:=T_counter_c['COUNTER_VALUE'];
Inc(counter); //累加学籍变更计数器
T_counter_c.Edit;
T_counter_c['COUNTER_VALUE']:=counter;
T_counter_c.Post;//修改计数器值
T_change.Open;//打开变更表追加纪录
T_change.AppendRecord([counter, i_stud_id_1.text, i_change.ItemIndex, Now, i_descrip_1.text]);
Button1Click(nil);
end
else
Application.MessageBox('请确认输入的学号是否正确!', '错误', MB_OK);
end;程序运行时提示'could not convert variant of type(null) into type(integer)
好像是计数器没有值,怎么回事?
盼回复.
解决方案 »
- 求助:为何每次创建的对象地址都一样?在线等,问题解决马上结贴,谢谢!
- FastReport 2 or 3的ole问题?
- 请ehom老大进来接分,感谢阁下的指导!
- help help! 请教LOOKUP问题!!
- 对两个数据库同时写记录的问题?兄弟们帮下小弟啊!
- 电脑想升级,不知道 联想天鹤600主板 intel 440bx apgi 能支持多少的cpu,硬盘
- 抓本机的网络数据包能用Delphi做么?
- 请问在win2K下如何用程序取到本机的IP并且修改IP
- 表的全copy
- 哪里有Devexpress 的ExpressQuantumTreeList Suite 下载?
- 如何快速测试对方IP的某端口是否打开?!
- 为何扫描不出条码中字母?
你打开数据集时没有确保T_counter_c['COUNTER_VALUE']是非空的,一般习惯访问字段值用FieldByName要好一些:
counter := 0;
if (T_counter_c.FieldByName('COUNTER_VALUE').IsNull = False) then
counter:=T_counter_c['COUNTER_VALUE'];