Could not convert variant of type(string) into Type(Boolean)我就是没能找到程序到底那出错了?有经验的朋友指点小弟一二。在线等

解决方案 »

  1.   

    类型转换错了
    不能把string变成boolean
      

  2.   

    你赋值错了,把String类型的变量赋给boolean类型的变量
    或者把String类型的变量作判断的条件了。
      

  3.   

    调试的程序发现定义的三个变量有问题,但是能编译运行,我也没注意。有点奇怪,我明明是把String 和 Boolean 区别开来啊判断的也正确。真是怪事
      

  4.   

    字面这样显示,你再看看吧,string型变量不能赋给Boolean弄变量,设断点跟踪一下
      

  5.   

    字面这样显示,你再看看吧,string型变量不能赋给Boolean型变量,设断点跟踪一下
      

  6.   

    字面这样显示,你再看看吧,string型变量不能赋给Boolean型变量,设断点跟踪一下
      

  7.   

    全部代码:
    unit Unit111;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, Grids, DBGrids, ExtCtrls, StdCtrls,JPEG, DBCtrls;type
      TXJK = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        Label6: TLabel;
        Label7: TLabel;
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        ComboBox1: TComboBox;
        ComboBox2: TComboBox;
        ComboBox3: TComboBox;
        Panel1: TPanel;
        DBGrid1: TDBGrid;
        ADOQuery1: TADOQuery;
        DataSource1: TDataSource;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        ADOTable1: TADOTable;
        Image1: TImage;
        procedure Button4Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure DBGrid1DblClick(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        { Private declarations }
            strEmptyPhoto : string;
            bRecordChanged : Boolean;   //这两个变量有问题。  public
        { Public declarations }  end;var
      XJK: TXJK;implementation  Uses DataSet,Main,QuickPorts;{$R *.dfm}procedure TXJK.Button4Click(Sender: TObject);
    begin
      ADOTable1.Filtered := False; //刷新数据。
    end;procedure TXJK.Button1Click(Sender: TObject);
    begin
      Close;
    end;procedure TXJK.DBGrid1DblClick(Sender: TObject);
    var
            NewBmp : TBitMap;
            NewMem : Tstream;
            //Tempstream : TMemorystream;
            //tempjpeg :TJpegImage;
    begin
           if Not bRecordChanged and ADOQuery1.Active  then
            With ADOQuery1 do
            begin
            if eof then exit;
            Edit1.Text := FieldByName('XM').AsString;
            Combobox1.Text := FieldByName('XB').AsString;
            Edit2.Text := FieldByName('SFZH').AsString;
            Combobox2.Text := FieldByName('CXCX').AsString;
            Edit3.Text := FieldByName('C_DH').AsString;
            Combobox3.Text := FieldByName('ZJ1').AsString;
            Edit4.Text := FieldByName('ZHDZ').AsString;
            {try
            tempstream := TMemorystream.Create();
            TBlobField(adotable1.FieldByName('picture')).SaveToStream(tempstream);
            tempstream.Position := 0;
            tempjpeg := TJpegImage.Create;
            tempjpeg.LoadFromFile(tempstream);
            Image1.Picture.Bitmap.Assign(tempjpeg);
            finally
            tempjpeg.Free;
            tempstream.Free;}
            if Not(FieldValues['Photo']) and (Length(Trim(FieldValues['Photo']))>0) then
            begin
                    NewBmp := TBitMap.Create;
                    NewMem := CreateBlobStream(FieldByname('photo'),bmRead);
                    NewBmp.LoadFromStream(NewMem);
                    Image1.Picture.Assign(NewBmp);
                    NewMem.Free;
                    Image1.Free;
            end
            else
            Image1.Picture.LoadFromFile(strEmptyPhoto);
            end;
    end;procedure TXJK.Button3Click(Sender: TObject);
    var
        NewSQL : string;  //这个会有异常。
    begin
            Try
            QuickRePort2 := TQuickRePort2.Create(Application);
            With QuickRePort2.ADOQuery1 do
            begin
                    if Active then close;
                    SQL.Clear;
                    SQL.Add(NewSQL);
                    Open;
                    begin
                    QuickReport2.PreviewModal;
                    end;
            end;
            finally
            QuickRePort2.Free;
    end;
    end;end.
      

  8.   

    变量赋值问题,blooen 不能转为string