我在用query返回ssbmh字段(access中的数字型),用以下的代码,运行时显示数据类型不匹配。请求帮助!解决了马上几给分var
   i:integer;
   selstring:string;
begin
   table1.Active:=true;
   table1.First;
   for i:=1 to table1.RecordCount do
     begin
       combobox1.Items.Add(table1.FieldValues['ssbmh']);
       table1.Next;
     end;
   selstring:=combobox1.Items[combobox1.itemindex];
   query1.Close;
   query1.SQL.Clear;
   query1.SQL.Add('select zgbh from jbqk where ssbmh='+#39+selstring+#39);
   query1.Prepare;
   query1.Open;

解决方案 »

  1.   

    再你的代码中加showmessage(query1.sql.text)看看你的sql语句是不是正确。
      

  2.   

    数字型的就不要加引号了吧:
    query1.SQL.Add('select zgbh from jbqk where ssbmh='+selstring);
      

  3.   

    我用showmessage(query1.sql.text),显示是空字符,什么原因呀
      

  4.   

    combobox1.Items.Add(table1.FieldValues['ssbmh']);
    这边有没错啊?  没得试你自已看看
    combobox1.items.add(inttostr(table1.fieldvalues['ssbmh']);
      

  5.   

    query1.SQL.Clear;
       query1.SQL.Add('select zgbh from jbqk where ssbmh='+#39+selstring+#39);
    showmessage(query1.sql.text);
    var
       i:integer;
       selstring:string;
           combobox1.Items.Add(table1.FieldValues['ssbmh'].Asstrings);
    后面加].Asstrings
      

  6.   

    你应该该为inttosrt(fieldvalues[])
      

  7.   

    selstring :float;
    query1.SQL.Add('select zgbh from jbqk where ssbmh='''+floattostr(selstring)+'''');
      

  8.   

    如果年老实的使用 adoquery1.Parameters.ParamByName('adsf').Value进行参数赋值呢?
      

  9.   

    靠数字类型和文本string类型怎么能匹配呢