异常详细信息: System.Data.SqlClient.SqlException: ',' 附近有语法错误。源错误: 
行 30:                SqlCommand cmd =new SqlCommand (sql,conn);
行 31:                int num = 0;
行 32:                num = (int)cmd.ExecuteScalar();
行 33:                conn.Close();
行 34:             if (num<0)源文件: c:\Users\stone\Desktop4\登录.aspx.cs    行: 32 

解决方案 »

  1.   

    int.TryParse(cmd.ExecuteScalar(),out num)
    試試
      

  2.   

    告诉你语法不对,改sql啊,转int, Conver.ToInt32
      

  3.   

    int.TryParse(cmd.ExecuteScalar(),out num)
      

  4.   

    Int32.parse(cmd.ExecuteScalar().tostring());
      

  5.   

    请放出你的变量sql的内容,并且告知,变量sql里第一个字段在数据中的类型,
      

  6.   

    跟转不转没关系,应该是你的sql 语句错了
      

  7.   

    明显是sql语句错误
    贴出来看看
      

  8.   

     protected void Button1_Click(object sender, EventArgs e)
        {
            string username = TextBox1.Text;
            string password = TextBox2.Text;
           
            using (SqlConnection conn = new SqlConnection(@"Data Source=STONE-PC\SQLEXPRESS;Initial Catalog=db_11_Data;Integrated Security=True;Pooling=False"))
            {   
               
                conn.Open();                 
                string sql = "select count (*) from Users where userName='"+username+"',and passWord='"+password+"'";
                   SqlCommand cmd =new SqlCommand (sql,conn);
                   int count = 0;
                    count = cmd.ExecuteScalar();
                   conn.Close();
    }      
    源代码是这样的  老是报 count = cmd.ExecuteScalar(); 这里的错误!!
      

  9.   

    string sql = "select count (*) from Users where userName='"+username+"' and passWord='"+password+"'";逗号换成空格
     
      

  10.   

    string sql = "select count (*) from [Users] where [userName]='"+username+"' and [passWord]='"+password+"'";
      

  11.   

      上面的方法都试过了还是 依然报这个错误诶,错误 CS0266: 无法将类型“object”隐式转换为“int”。存在一个显式转换(是否缺少强制转换?) 
      

  12.   

    int num = 0;
    num = (int)cmd.ExecuteScalar();=>int num ;
    int.TryParse((cmd.ExecuteScalar()??"").ToString(),out num);
      

  13.   


    其实3楼都已经告诉你sql错了,sql语句可以在数据库工具如management studio 中执行一下,可以检查一下错误
      

  14.   

     num = (int)cmd.ExecuteScalar()改为num=int.Parse(cmd.ExecuteScalar().toString())