string sql = "select alarmper from alarm where platenumber= " + "'" + platenumber +"'and color='" + color + "'";
try
{
     SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
                             while (reader.Read())
{
     alarmper = reader["alarmper"].ToString();
}
   reader.Close();
}
catch
{
}运行后alarmper是空,但是我把sql换成"select alarmper from alarm",就能获取alarmper的值,为什么啊????????

解决方案 »

  1.   

    platenumber= " + "'" + platenumber +"'and color='" + color + "'"; 没有在此条件范围内的值啊
    你执行sql后看reader里面有值否?
      

  2.   

    但是我把select alarmper from alarm where platenumber= '张三' and color='男’; 
    放在查询分析器里运行就能得到alarmper的值啊
      

  3.   

    platenumber= '" + platenumber +"'and color='" + color + "'"; 这样试试
    你的引号好像有问题
      

  4.   

    '" + platenumber +"'and color='" + color + "'" 那就是这里的 数据没得到。  设个断点看看有没有数据。
      

  5.   

    platenumber color 看看里面的参数是不是对的。是不是有空格什么的用Trim处理一下
      

  6.   

    我调试看了 platenumber color参数都是对了 我都用this.Label.Text显示出来了
    而且也没什么空格
    因为platenumber color这些参数
    我在同数据库另张表取出时已经Trim了,
      

  7.   

    我在调试时也看了sql的值
    和我在查询分析器里写的是一样的 
    我在查询分析器里就可以查询到alarmper的值
      

  8.   

    string sql = "select alarmper from alarm where platenumber='张三'and color='男'";
    try
    {
           SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
    while (reader.Read())
    {
          alarmper = reader["alarmper"].ToString().Trim();
    }
          reader.Close();
    }
    catch
    {
    }
    如果直接这样写就可以得到alarmper的值
    为什么啊!!!!!!
      

  9.   

    我查看了下,我在获取platenumber color时
    platenumber 是"张三"
    color是"男"
    这个双引号怎么去掉啊!!!
      

  10.   

    执行之后的SQL格式跟你设定固定值是一样的吗?如果一样,没道理不行啊。
      

  11.   

    不太对 我在断点调试时
    从局部变量里看sql的值是
    "select alarmper from alarm where platenumber='张三'and color='男'"
    晕倒了
    各位老大看看啊
      

  12.   


      string sql = "select alarmper from alarm where platenumber= '" + platenumber +"'and color='" + color + "'"; 
    try 

        SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql); 
                                if(reader.Read()) 

        alarmper = reader["alarmper"].ToString(); 

      reader.Close(); 

    catch 


    这样试试
      

  13.   

    string sql = "select alarmper from alarm where platenumber='" + platenumber +"' and color='" + color + "'";
    try
    {
        SqlDataReader reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql);
                                while (reader.Read())
    {
        alarmper = reader["alarmper"].ToString();
    }
      reader.Close();
    }
    catch
    {
    }
    按这样写还是得不到值 
    如何我直接写
    string sql = "select alarmper from alarm where platenumber='张三' and color='男'"; 
    就可以了
      

  14.   

    是不是你alarmper的类型不对啊