string sql=select count(*) from login where [username]='" + a1 + "' and [userpsw]='" + b1 + "'" 
using (SqlConnection conn = new SqlConnection(connString))
    {
        SqlCommand cmd = new SqlCommand(sql, conn);
       
        try
        {
            conn.Open();
            newProdID = (Int32)cmd.ExecuteScalar();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

解决方案 »

  1.   

    请检查最终的sql有没有生成@参数引用
      

  2.   

    先不加条件执行select count(*) from login 看能不能过,然后再一个条件一个条件补充。另外sql语句拼凑的写法有注入式攻击漏洞,用parameter。
      

  3.   

    调试一下,应该是sql语句的问题,这么简答的代码,出这样的错误不应该啊!
      

  4.   

    cmd初始化的时候,sql语句有错误
    去掉最后一个双引号试试
      

  5.   

    监视  cmd.ExecuteScalar() 的执行结果,是不是为NULL
      

  6.   

    我也感觉cmd.ExecuteScalar()应该这个为空了。
      

  7.   

    sql 语句应该没问题, 建议先去看看数据库是不是存在这组数据
     string a1 = "azhou";
     string b1 = "111111";