【问题标题】:it returns the value of "approved" column as "yes\0\0\0\0\0\0" instead of "yes"它将“已批准”列的值返回为“yes\0\0\0\0\0\0”而不是“yes”
【发布时间】:2016-08-19 10:29:01
【问题描述】:

它将approved 列的值返回为"yes\0\0\0\0\0\0" 而不是"yes"

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();
}

【问题讨论】:

  • 你应该先问问自己那些 \0 在你的表格中是如何结束的,你可以做些什么来避免它们。

标签: c#


【解决方案1】:

改变

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多