2016-08-19 146 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