各位老师delphi 编译没有错,但运行出错
运行时,先出现一个出错提示 " could convert variant of type (Null) into type (string)" 做的是数据库记录的查询
运行时,先出现一个出错提示 " could convert variant of type (Null) into type (string)" 做的是数据库记录的查询
解决方案 »
- sql查询语句请教?只取各品种的最后一条记录?
- 请教图片(已在Form上生成了二维条码)的打印方法。
- 如何跟踪某个功能所执行的是哪一部门的代码?
- quickreport打印预览问题
- 急,急,急,急--用ADO,动态创建dbf表,数值字段的精度定义???
- 如何為form自定義屬性并使其在屬性窗口中是可見并可修改的?
- 用realplayer控件播放时,如何控制rm的起始位置?
- 打包问题
- 在用Twebbrowser 浏览网页时,如果窗体的样式一改变,网页文档就不见了。这是怎么回事?
- 有谁可以找到一个按钮控件,可以做到像《WINDOWS优化大师》中按钮的效果?快来捡分
- 想获取旺旺对话子窗口标题,请给个思路。
- 这个修改密码窗口的代码哪错了?
implementation{$R *.dfm}procedure TForm6.Button1Click(Sender: TObject);
begin
close;
end;procedure TForm6.FormCreate(Sender: TObject);
var province,area:string[10];
thisnode:TTreeNode;begin Adoquery2.SQL.Clear;
Adoquery2.SQL.Add('select DISTINCT Ê¡·Ý from stuinfo');
Adoquery2.Open;
thisnode:=TreeView1.Items.GetFirstNode;
while not Adoquery2.Eof do
begin
province:=Adoquery2.Fields[0].AsString; //ÔÚADOquery2ÐòºÅΪ0
thisnode:=TreeView1.Items.Add(thisnode,province);
Adoquery3.SQL.Clear;
ADoquery3.SQL.Add('select DISTINCT µØÇø from stuinfo WHERE Ê¡·Ý=:a');
ADOquery3.Parameters.ParamByName('a').Value:=province;
ADOquery3.Open;
while not ADOquery3.Eof do
begin
area:=ADOquery3.Fields[0].Value;
Treeview1.Items.AddChildFirst(thisnode,area);
Adoquery3.Next;
end;
ADoQuery2.Next;
end;end;procedure TForm6.TreeView1Click(Sender: TObject);
var province,area:string[10];begin
if Treeview1.Selected.Level=0 then //µ¥»÷µÄÊǵÚÒ»²ã½áµã£¬±íʾʡ·Ý
begin //½«TreeView1Ñ¡ÖнáµãÖµ×÷ΪADOquery1µÄ²Î¿¼Öµ
province:=Treeview1.Selected.Text;
ADOquery1.SQL.Clear;
if Province='È«²¿' then
ADOquery1.SQL.Add('select * from stuinfo')
else begin
ADOquery1.SQL.Add('select * from stuinfo WHERE Ê¡·Ý=:a');
ADOquery1.Parameters.ParamByName('a').Value:=province;
end;
ADoquery1.Open;
end
else begin
province:=Treeview1.Selected.Parent.Text;
area:=Treeview1.Selected.Text;
Adoquery1.SQL.Clear;
ADOquery1.SQL.Add('select * from stuinfo Where (Ê¡·Ý=:a)and (µØÇø=:b)');
ADOquery1.Parameters.ParamByName('a').Value:=province;
ADoquery1.Parameters.ParamByName('b').Value:=area;
ADOquery1.Open;
end;
end;end.
procedure TForm6.FormCreate(Sender: TObject);
var province,area:string[10];
thisnode:TTreeNode;
begin
Adoquery2.SQL.Clear;
Adoquery2.SQL.Add('select DISTINCT 省份 from stuinfo');
Adoquery2.Open;
thisnode:=TreeView1.Items.GetFirstNode;
while not Adoquery2.Eof do
begin
province:=Adoquery2.Fields[0].AsString; //在ADOquery2序号为0
thisnode:=TreeView1.Items.Add(thisnode,province);
Adoquery3.SQL.Clear;
ADoquery3.SQL.Add('select DISTINCT 地区 from stuinfo WHERE 省份=:a');
ADOquery3.Parameters.ParamByName('a').Value:=province;
ADOquery3.Open;
while not ADOquery3.Eof do
begin
area:=ADOquery3.Fields[0].Value;
Treeview1.Items.AddChildFirst(thisnode,area);
Adoquery3.Next;
end;
ADoQuery2.Next;
end;
end;procedure TForm6.TreeView1Click(Sender: TObject);
var province,area:string[10];
begin
if Treeview1.Selected.Level=0 then //单击的是第一层结点,表示省份
begin //将TreeView1选中结点值作为ADOquery1的参考值
province:=Treeview1.Selected.Text;
ADOquery1.SQL.Clear;
if Province='全部' then
ADOquery1.SQL.Add('select * from stuinfo')
else begin
ADOquery1.SQL.Add('select * from stuinfo WHERE 省份=:a');
ADOquery1.Parameters.ParamByName('a').Value:=province;
end;
ADoquery1.Open;
end
else begin
province:=Treeview1.Selected.Parent.Text;
area:=Treeview1.Selected.Text;
Adoquery1.SQL.Clear;
ADOquery1.SQL.Add('select * from stuinfo Where (省份=:a)and (地区=:b)');
ADOquery1.Parameters.ParamByName('a').Value:=province;
ADoquery1.Parameters.ParamByName('b').Value:=area;
ADOquery1.Open;
end;
end;
area:=ADOquery3.Fields[0].Value;
这一句改成
area:=ADOquery3.Fields[0].AsString试试;