Query1.ParamByName('times').Clear;ExecSQL执行后出错

xyz_no1 2001-09-26 01:32:21
代码如下
with query1 do
begin
close;
Sql.Clear;
Sql.Add('insert into Test(number,name)');
Sql.Add('values(:no,:times)');
ParamByName('no').AsString:='1';
ParamByName('times').Clear;
ExecSql;
end;
出错信息为:“Field times is of an unknow type”
谁有办法让ParamByName('times')清空?
...全文
148 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzb 2001-09-28
  • 打赏
  • 举报
回复
试一下
procedure TForm1.Button1Click(Sender: TObject);
begin
with query1 do
begin
close;
Sql.Clear;
Sql.Add('insert into Test(number,times)');
Sql.Add('values(:no,:times)');
ParamByName('no').AsString:='1';
ParamByName('times').DataType := ftDateTime;
ParamByName('times').Value :=null;
ExecSql;
end;

end;
zgamer 2001-09-28
  • 打赏
  • 举报
回复
up
newyj 2001-09-27
  • 打赏
  • 举报
回复
into Test(number,name)');
Sql.Add('values(:no,:times)');
name 和 times根本对不上
yoryor 2001-09-27
  • 打赏
  • 举报
回复
ParamByName('times').AsString := '' ;
jabmoon 2001-09-27
  • 打赏
  • 举报
回复
呵呵,你这是从哪里看来的Delphi语法?
xyz_no1 2001-09-27
  • 打赏
  • 举报
回复
还是同样的错误
xyz_no1 2001-09-27
  • 打赏
  • 举报
回复
本来就设为空的
hantao 2001-09-27
  • 打赏
  • 举报
回复
up
coolbaby 2001-09-27
  • 打赏
  • 举报
回复
将times字段设置成可以为空
试试!
zgamer 2001-09-27
  • 打赏
  • 举报
回复
up
xyz_no1 2001-09-27
  • 打赏
  • 举报
回复
抱歉,那边写错了,该为:
with query1 do
begin
close;
Sql.Clear;
Sql.Add('insert into Test(number,times)');
Sql.Add('values(:no,:times)');
ParamByName('no').AsString:='1';
ParamByName('times').Clear;
ExecSql;
end;
times域为Datetime类型
xyz_no1 2001-09-27
  • 打赏
  • 举报
回复
up
xyz_no1 2001-09-26
  • 打赏
  • 举报
回复
对了,那边有点错误,name为datetime类型
我原来也想用ParamByName('times').AsString := '' ,可出错
byrybye 2001-09-26
  • 打赏
  • 举报
回复
up
lldwolf 2001-09-26
  • 打赏
  • 举报
回复
同意楼上
Nizvoo 2001-09-26
  • 打赏
  • 举报
回复
你这样改改

ParamByName('times').AsString := '' ;

5,388

社区成员

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

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