string sql = "select * from test where one='one'"; public static int seleSQL(string sql)
    {       
        SqlConnection con = createCon();
        con.Open();
        SqlCommand com = new SqlCommand(sql, con);
        try
        {
            return Convert.ToInt32(com.ExecuteScalar());
            con.Close();
        }
        catch (Exception e)
        {
            con.Close();
            return 0;
        }
    }SQL列数据类型是nvarchar(50)怎么老提示输入字符串的格式不正确

解决方案 »

  1.   

    string sql = "select * from test where one='one'";return Convert.ToInt32(com.ExecuteScalar());你查的是表里面所有的列,返回的值却是1个,肯定有问题不
      

  2.   

    ExecuteScalar返回第一行一列值,确认这个值不为空并可以转换为整数。
      

  3.   

    return Convert.ToInt32(com.ExecuteScalar());测试……
      

  4.   

    ExecuteScalar()是返回第一行第一列的值,并不是返回影响行数。