2016-08-19 120 views
0

返回为"yes\0\0\0\0\0\0",而不是"yes"返回 “批准” 列的值 “是 0 0 0 0 0 0”,而不是 “是”

public void getapproved() 
{ 
    SqlDataAdapter da = new SqlDataAdapter("select * from owner_addproperties", con); 
    DataSet ds = new DataSet(); 
    da.Fill(ds); 
    DataTable dtoriginaltable =ds.Tables[0]; 

    DataTable dtfinaltable = new DataTable(); 
    foreach (DataColumn dc in dtoriginaltable.Columns) 
    { 
     dtfinaltable.Columns.Add(dc.ColumnName); 
    } 

    foreach (DataColumn dc in dtfinaltable.Columns) 
    { 
     if (dc.ColumnName == "approved") 
      dc.DataType = System.Type.GetType("System.Boolean"); 
    } 
    foreach (DataRow drow in dtoriginaltable.Rows) 
    { 
     if (drow["approved"].Equals("yes")) 
      drow["approved"] = true; 
     else 
      drow["approved"] = false; 

     dtfinaltable.Rows.Add(drow.ItemArray); 
    } 

    gvadmin_owner_view.DataSource = dtfinaltable; 
    gvadmin_owner_view.DataBind(); 
} 
approved列的值
+1

你应该问自己,如何将这些\ 0在你的表先结束了,什么你可以做,以避免它们。 – Steve

回答

0

变化

if (drow["approved"].Equals("yes")) 

if (drow["approved"].ToString().StartsWith("yes")) 
+0

thankx很多.............其工作 – vincent