求助:用BDE的query时,如何为某字段为为DATE或INTEGER的类型赋空值

yqdragon 2005-06-16 09:11:29
对数据库而言,SQL-SERVER和DB2的日期类型均允许为空值
在用BDE的Query时(注意不是ADO的adoquery),在插入数据时参数必须赋个值(不赋值会报错),假如日期类型为空如何赋值呢?

若用DB2建表CREATE TABLE person(name varchar(20),birs date,age integer)
procedure TFrmMain.Button1Click(Sender: TObject);
begin
with dm.q_pub do
begin
close;
sql.clear;
sql.add('insert into person values(:name,:birs,:age)');
params.ParamByName('name').value:='11';
params.ParamByName('birs').Value := '1998-9-9'; //若值为空如何写?
//params.ParamByName('birs').Value := ''; //若这么写(或=null,=nil),运行均通不过
params.ParamByName('age').Value := '';
//上句(或写成.asstring=''),运行通不过,如何赋空值?
execsql;
Showmessage('success');
end;
end;


若用sql-server建表CREATE TABLE person(name varchar(20),birs datetime,age integer)
procedure TFrmMain.Button1Click(Sender: TObject);
begin
with dm.q_pub do
begin
close;
sql.clear;
sql.add('insert into person values(:name,:birs,:age)');
params.ParamByName('name').value:='11';
params.ParamByName('birs').Value := '1998-9-9'; //若值为空如何写?
//params.ParamByName('birs').Value := '';
//若按上句写法,数据库中实际插入一个默认1900-1-1的值而不是空值,如何插入空值?
params.ParamByName('age').Value := '';
//上句写法,数据库中实际插入的是0而不是空值,如何插入空值?
execsql;
Showmessage('success');
end;
end;

请测试过回,谢谢!
...全文
239 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yqdragon 2005-06-18
  • 打赏
  • 举报
回复
??????????????????????????????????
duanhai 2005-06-17
  • 打赏
  • 举报
回复
我一直以为用NULL是可以的,没有想到你说不行

放弃参数形式直接制造SQL语句吧

如:
with dm.q_pub do
begin
Close;
SQL.Text := format('Insert into person values(%s,%s,%s)',
[QuotedStr('11'), QuotedStr('1989-01-01'), 'NULL']);
execsql;
end;
yqdragon 2005-06-17
  • 打赏
  • 举报
回复
高手帮忙啊,大家对这种情况都怎么处理的啊?没人知道吗?????????
yqdragon 2005-06-17
  • 打赏
  • 举报
回复
帅哥,我的字段很多,而且值不一定为null,要用参数形式的。
???????????????????
zdr690929 2005-06-17
  • 打赏
  • 举报
回复
INTER型怎能为空呢?高成“0”不行吗?
如果设置成“NULL”不行,就没办法了。
空值本来就不是个INTER型的数据,但对STRING型,空值就可以
lovend 2005-06-16
  • 打赏
  • 举报
回复
帮你顶
附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[坡道(ramp)] · 训练集:275 张 · 验证集:27 张 · 测试集:0 张 · 总计:302 张 该数据集聚焦于城市环境中各类建筑入口处的坡道设施,涵盖住宅、商铺、公共设施等多种场景,真实反映了无障碍通行设施在实际应用中的多样化形态。数据集中包含金属、橡胶、塑料等多种材质的坡道,以及不同尺寸、结构和安装方式的实例,充分体现了坡道在城市基础设施中的广泛部署与重要性。该数据集为城市智慧化管理、无障碍环境建设及公共安全监控提供了高质量的视觉基础支持。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 33 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6372** mAP50-95 | 0.3401 Precision | 0.6603 Recall | 0.6190 train/box_loss | 1.0569 train/cls_loss | 0.7307 val/box_loss | 1.6084 val/cls_loss | 1.9323 【训练过程分析】 33 轮训练后 mAP50 仅 0.6372,模型收敛不充分。Loss 曲线前期下降后进入平台期,mAP 提升缓慢。mAP50-95 为 0.3401,定位精度同样偏低。 【模型性能评估】 Precision 0.6603、Recall 0.6190,精度高于召回,存在一... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

5,944

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧