用gridview 更新和删除  需要 唯一的主键 city_id 
但是邦定时用this.gridview1.datakeynames="City_Name"; 出现CS0029: 无法将类型“string”隐式转换为“string[]”
  然后改成: this.gridview1.datakeynames="City_Name".toString();
也是一样错误救命啊

解决方案 »

  1.   

    没用的String 怎么转化成 string[]
      

  2.   

    SqlConnection conn = new SqlConnection(connstr);
            conn.Open();
            string sqlstr = "select City_ID,City_Name from city order by City_ID DESC";
            SqlDataAdapter da=new SqlDataAdapter(sqlstr,conn);
            DataSet ds=new DataSet();
            da.Fill(ds,"city");
            this.GridView1.DataKeyNames="City_ID".ToString();  
            this.GridView1.DataSource = ds.Tables[0];
            this.GridView1.DataBind();
          
            conn.Close();
      

  3.   

    这样写就可以了
     GridView1.DataKeyNames = new string[] { "City_ID" };
      

  4.   

    这样写就可以了
     GridView1.DataKeyNames = new string[] { "City_ID" };
     太正确了。2005的DataKeyNames是一个数组。
      

  5.   

    GridView1.DataKeyNames = new string[] { "City_ID" };