string str = "Data Source=.;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=sa";
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = str;
            conn.Open();            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "select count(*)from Table_tel where uname='" + uname.Text + "'";
            cmd.Connection = conn;
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
           
            {                Console.WriteLine("name"+reader["uname"].ToString().Trim ()+"tel"+reader["tel"].ToString ().Trim ());            }
报错 未处理indexoutofrangexception uname数据表里 就2列 uname和tel

解决方案 »

  1.   

    select count(*)from=》select *  from
      

  2.   

    +1 count(*) 是统计数据行数。返回只有一行一列
      

  3.   

    索引越界异常,select count(*)from Table_tel 替换为 select * from Table_tel
      

  4.   

    cmd.CommandText = "select count(*)from Table_tel where uname='" + uname.Text + "'";
    这一句查出的来的是行数,没有表数据,Console.WriteLine("name"+reader["uname"].ToString().Trim ()+"tel"+reader["tel"].ToString ().Trim ());这一句当然会报错了。按1楼方改回来吧。