procedure Tdatato.Button1Click(Sender: TObject);
var strr:string;
i:integer;
t010,t200,t205:string;
isbn,title,author,tra,price,auth:string;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from book');
adoquery1.Open;
adoquery1.First;
isbn:=adoquery1.FieldValues['isbn'];
memo1.Lines.Add(isbn);
title:=adoquery1.FieldValues['book_name'];
memo1.Lines.Add(title);
author:=adoquery1.FieldValues['author'];
memo1.Lines.Add(author);
trans:=adoquery1.FieldValues['translator'];
// memo1.Lines.Add(trans); 执行到这儿 ,提示 inbalid variant type conversion,
translator字段的值为空,
将translator值改为非空,就不存在这个问题了.
但是实际上数据库中这个字段是允许为空值的,
因此我想做一个判断,就是判断字段的值是不是空值,如果不是空值,才执行 memo1.Lines.Add();,
请问这个问题如何解决?
price:=adoquery1.FieldValues['price'];
memo1.Lines.Add(price);
end;
var strr:string;
i:integer;
t010,t200,t205:string;
isbn,title,author,tra,price,auth:string;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from book');
adoquery1.Open;
adoquery1.First;
isbn:=adoquery1.FieldValues['isbn'];
memo1.Lines.Add(isbn);
title:=adoquery1.FieldValues['book_name'];
memo1.Lines.Add(title);
author:=adoquery1.FieldValues['author'];
memo1.Lines.Add(author);
trans:=adoquery1.FieldValues['translator'];
// memo1.Lines.Add(trans); 执行到这儿 ,提示 inbalid variant type conversion,
translator字段的值为空,
将translator值改为非空,就不存在这个问题了.
但是实际上数据库中这个字段是允许为空值的,
因此我想做一个判断,就是判断字段的值是不是空值,如果不是空值,才执行 memo1.Lines.Add();,
请问这个问题如何解决?
price:=adoquery1.FieldValues['price'];
memo1.Lines.Add(price);
end;
解决方案 »
- delphi xe imagelist png 图片 listview 显示 背景颜色怎么是黑色的
- 我只安装了delphi7 如何打开用delphi2010写的程序?
- Delphi三层主从表巢状结构分段取数据问题
- TBetterADODataSet 是什么控件?
- 关于FTP网络客户端、服务器端程序的问题
- 使用Dephi如何读取Excel表中的数据?(急!!!在线等!100分!)
- Delphi程序无法运行
- 大家看一下我写的这个触发器到底错在那里?
- delphi dbgrid拖动滚动条时如何像Memo一样适时显示数据??
- DelPhi中DLL可调用其他DLL吗?
- 如何做跨库查询?
- 请大家谈谈D7和D8的区别??小弟想学Delphi,但不知学哪个版本好?请各位介绍一下!!!
if Not adoquery1.FieldByName('price').isNull then price:=adoquery1.FieldByName('price').asString;
memo1.Lines.Add(price);
或者直接
memo1.Lines.add(adoquery1.FieldByName('price').asString);