111,097
社区成员




string[] ObjectList = {"语文", “数学”, “英语”}; // 实际上很多项
public string DataTableToString(DataTable dt, string[] ObjectList)
/// <summary>
/// DataTable格式化成目标字符串
/// </summary>
/// <param name="dt">SQL查询到的数据</param>
/// <returns></returns>
private string DataTableToString(DataTable dt, string[] ObjectList)
{
StringBuilder sb = new StringBuilder();
if (dt.Rows.Count > 0)
{
string prefix = String.Empty;
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
string temp_value = dt.Rows[i][j].ToString();
string col_name = dt.Columns[j].ColumnName;
if (col_name == "考点")
{
prefix = temp_value;
}
if(temp_value != String.Empty)
{
if(IsContain(col_name, ObjectList))
{
sb.Append(prefix);
sb.Append("::");
sb.Append(col_name);
sb.Append("=");
sb.Append(temp_value);
sb.Append("\n");
}
else
{
sb.Append(col_name);
sb.Append("=");
sb.Append(temp_value);
sb.Append("\n");
}
}
}
}
}
return sb.ToString();
}
/// <summary>
/// 判断字符串是否在数组中
/// </summary>
/// <param name="item">字符串</param>
/// <param name="MesKeyList">字符串列表</param>
/// <returns>存在返回True</returns>
private bool IsContain(string item, string[] TestList)
{
foreach (string key in TestList)
{
if (key == item)
{
return true;
}
}
return false;
}
List<string> L=new List<string>();
for(int r=0;r<dt.rows.count;r++)
{
if(!L.contains(dt.rows[i][1].Tostring()+dt.rows[i][2].Tostring())
{
L.Add(dt.rows[i][1].Tostring()+dt.rows[i][2].Tostring())
str+=dt.columns[1].columnName+"="+dt.rows[i][1]+"\n";
str+=dt.columns[2].columnName+dt.rows[i][2]+"\n";
}
for(int l=4;l<dt.columns.count;l++)
{
str+=dt.rows[i][3]+"::"+dt.columns[l].columnName+"="+dt.rows[i][l]+"\n";
}
}