我为这个新手问题道歉,但我正在寻找一个简单的解决方案 我想编写一个返回数据表的函数 像这样:
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;
}
答案 0 :(得分:2)
这应该有效:
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;
}
答案 1 :(得分:0)
尝试以下代码部分。希望它会有所帮助。
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() + "\"";
}
}
}
}