本帖最后由 bishetianna 于 2010-05-14 08:56:00 编辑

解决方案 »

  1.   

    你的代码不全,跟strwhere相关的查询语句前半截没看到啊,把其他相关代码贴出来啊。
      

  2.   

    你在看下你那个建筑面积的字段类型,估计你定义的是varchar型,不是数值型
      

  3.   

    sql有问题,没有Where
    另外
    if (strwhere != string.Empty)
      {
      strwhere += "and 建筑面积 between'" + txtarea1.Text.Trim().ToString() + "' and '" + txtarea2.Text.Trim().ToString() + "'";
      }
      else
      {
      strwhere += "建筑面积 between'" + txtarea1.Text.Trim().ToString() + "' and '" + txtarea2.Text.Trim().ToString() + "'";
      }不明白为什么这样写·~~~
      

  4.   

    是varchar ,但其他几个如价格,楼层都是varchar都没问题,只有面积有问题
      

  5.   


    //太多不方便看,我就写主要的部分
    //最小建筑面积TextBox、最大建筑面积TextBox,主要判断依据是这两个
      if (最小建筑面积TextBox.Text != string.Empty)
      {
      strwhere += "and 建筑面积 >" + 最小建筑面积TextBox.Text.Trim();//ToString()是废话,删了
      }
      if (最大建筑面积TextBox.Text != string.Empty)
      {
      strwhere += "and 建筑面积 <" + 最大建筑面积TextBox.Text.Trim();
      }
      

  6.   

    你最好用浮点型,毕竟你不是varchar。然后你用:  strwhere = "建筑面积 >" + 最小建筑面积TextBox.Text.Trim()+ "and 建筑面积 <" + 最大建筑面积TextBox.Text.Trim();
      

  7.   

    用between查不到varchar类型的区间数据,你可以在数据库中试一下