public int checkGoods1(string id, object Ht_Name, object typeName)
    {
        string whereStr = "Ht_Name='"+Ht_Name.ToString()+"'";
        int singl = HouseType.checkHouseType1(whereStr);
        return singl;
     }
调用sql查询的函数
public static int checkHouseType1(string Ht_Name)
        {
            string text1 = "SELECT Ht_ID FROM HouseType WHERE "+Ht_Name;
            object obj1 = SQLHelper.ExecuteScalar(text1);
            if (obj1 != null)
            {
                return 1;
            }
            else
            {
                return -1;
            } 
        }
sql查询函数从aspx页面上通过JavaScript调用第一个函数,并传递参数!
问题是:
当是从页面传递参数是,无论参数是多少他都返回1;
但当自己定义string时,就能够返回正确的查询结果;

解决方案 »

  1.   

    你跟踪一下Sql语句啊,
     string text1 = "SELECT Ht_ID FROM HouseType WHERE "+Ht_Name; 你实际执行的Sql语句是什么Sql的事件探测器上看看你就知道原因了,还有object Ht_Name,这里直接用string岂不更好,看看你传入的Ht_Name到底是什么内容
      

  2.   

    那你断点看看text1 是什么值
    然后放查询分析器执行下看看返回什么
      

  3.   

    (string id, object Ht_Name, object typeName
    可能是类型转换时,出了问题
      

  4.   

    object是后来改的!用stirng不行
      

  5.   

    "SELECT Ht_ID FROM HouseType WHERE "+Ht_Name;
    这SQL语句能执行么=、= where 后面你也没指定哪列 为HT_NAME 啊 如果要是 字符串 两边还要加''"SELECT Ht_ID FROM HouseType WHERE  列明 ='"+Ht_Name+"'";
      

  6.   

    我传递时where条件,后面的名字还没来的及改!错误应该是从JavaScript中传递过来的参数的问题,谢谢大家的帮助