namespace 手机号码归属地查询
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }        private void Form1_Load(object sender, EventArgs e)
        {
            
            using (SqlConnection conn = new SqlConnection(@"Server=LEON\MATER;database=DBPromary;Uid=sa;Pwd=sa"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select*from promary";                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Province province = new Province();
                            province.name = reader.GetString(reader.GetOrdinal("proName"));
                            province.proID = reader.GetInt32(reader.GetOrdinal("proID"));                        
                        }
                    }
                }
            }        }
        private void button1_Click(object sender, EventArgs e)
        {        }
    }
    
}
province.proID = reader.GetInt32(reader.GetOrdinal("proID"));
就是这句出错

解决方案 »

  1.   

    proID 是神马类型,如果是string,那么GetInt32就有问题了
      

  2.   

    Province 这个类中的proID你是string类型的吧?
    province.proID = reader.GetInt32(reader.GetOrdinal("proID"));你把一个int型的赋值给一个string类型的实体属性,当然报错喽!1、修改Province 这个类中的proID属性的类型为int2、province.proID = reader.GetOrdinal("proID").ToString();
      

  3.   

    直接这样写:province.proID = reader.GetOrdinal("proID");