用逗号检查数据表中的数据

发布于 2024-11-26 06:05:43 字数 862 浏览 2 评论 0原文

对于这个新手问题,我深表歉意,但我正在寻找一个简单的解决方案。
我想编写一个返回数据表的函数。
像这样:

public static DataTable DataTableCommaReplce(DataTable dt){..}

该函数将检查DataTable中的每个数据。
如果数据包含一个或多个逗号,该函数将使该数据用双引号引起来。
例如:

you,me⇒"you,me"

编写此函数的最佳方法是什么?
有谁可以帮助我吗?


我已经用这段代码解决了,但我想要更简单的解决方案。
如果可能的话,我不想循环。

public static DataTable DataTableCommaReplce(DataTable dt)
        {
            int col = dt.Columns.Count;
            foreach (DataRow dr in dt.Rows)
            {
                for (int i = 0; i < col; i++)
                {
                    if (dr[i].ToString().IndexOf(",") > 0)
                    {
                        dr[i] = "\"" + dr[i].ToString() + "\"";
                    }
                }
            }
            return dt;
        }

I apologize for this newbie question, but I'm looking for a simple solution.
I want to write a function that will return a datatable.
Like this:

public static DataTable DataTableCommaReplce(DataTable dt){..}

The function will check each data in DataTable.
If data contained one or more commas, the function will make that data in double quote.
For Example:

you,me⇒"you,me"

What's the best way to write this function?
Can any body help me?


I had solved with this code, but I want more simple solution.
If possible, I want no looping.

public static DataTable DataTableCommaReplce(DataTable dt)
        {
            int col = dt.Columns.Count;
            foreach (DataRow dr in dt.Rows)
            {
                for (int i = 0; i < col; i++)
                {
                    if (dr[i].ToString().IndexOf(",") > 0)
                    {
                        dr[i] = "\"" + dr[i].ToString() + "\"";
                    }
                }
            }
            return dt;
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北方。的韩爷 2024-12-03 06:05:43

这应该有效:

public static DataTable DataTableCommaReplce(DataTable dt) {
    foreach (DataRow row in dt.Rows) {
        foreach (DataColumn col in dt.Columns) {
            string s = row[col] as string;
            if (s != null) {
                if (s.Contains(',')) {
                    row[col] = string.Format("\"{0}\"", s);
                }
            }
         }
    }
    return dt;
}

This should work:

public static DataTable DataTableCommaReplce(DataTable dt) {
    foreach (DataRow row in dt.Rows) {
        foreach (DataColumn col in dt.Columns) {
            string s = row[col] as string;
            if (s != null) {
                if (s.Contains(',')) {
                    row[col] = string.Format("\"{0}\"", s);
                }
            }
         }
    }
    return dt;
}
画▽骨i 2024-12-03 06:05:43

尝试以下代码部分。希望它会有所帮助。

DataTable Tb = new DataTable();
for (int i = 0; i < Tb.Columns.Count; i++)
 {
    for (int j = 0; j < Tb.Rows.Count; j++)
     {

       if (Tb.Rows[j][i] != DBNull.Value)
       {
         if (Tb.Rows[j][i].ToString().IndexOf(',') != -1)
         {
          Tb.Rows[j][i] = "\"" + Tb.Rows[j][i].ToString() + "\"";
          }
       }
     }
 } 

Try the Following Code part. Hope it will help.

DataTable Tb = new DataTable();
for (int i = 0; i < Tb.Columns.Count; i++)
 {
    for (int j = 0; j < Tb.Rows.Count; j++)
     {

       if (Tb.Rows[j][i] != DBNull.Value)
       {
         if (Tb.Rows[j][i].ToString().IndexOf(',') != -1)
         {
          Tb.Rows[j][i] = "\"" + Tb.Rows[j][i].ToString() + "\"";
          }
       }
     }
 } 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文