这是我的桌子
MY_TABLE
| id | first4 | last4 | reason |
--------------------------------
| 1 | 123 | 456 | Cancel |
| 2 | 123 | 789 | Correct|
问题
它进入循环并获取信息,但最后只显示最后一行
例子:
id = 1
first4 = 123
last4 = 456
reason = cancel
我试图实现的是一个像这样呈现的字符串:
id = 1,2;
first4 = 123,123;
last4 = 456,789;
reason = Cancel,Correct
在C#中我使用
try
{
SqlDataReader render = cmd.ExecuteReader();
while (render.Read())
{
while (render.Read())
{
column = new Dictionary<string, string>();
column["id"] = string.Join(",", render["id"]);
column["first4"] = string.Join(",", render["first4"]);
column["last4"] = string.Join(",", render["last4"]);
column["reason"] = string.Join(",", render["reason"]);
rows.Add(column);
}
render.close();
}
}
catch (Excecption ex)
{
console.writeline(ex);
}
finally
{
conn.Close();
}
打电话给桌子
foreach (Dictionary<string, string> column in rows)
{
interchange.DownloadBlacklist.id = column["id"] ;
interchange.DownloadBlacklist.first4 = column["first4"];
interchange.DownloadBlacklist.last4 = column["last4"];
interchange.DownloadBlacklist.status = column["status"];
}
最简单的方法是什么?由于我设法提取信息,但是我仅获得表的最后一行,而没有获得如何尝试实现的信息。
这可能为您解决问题
SqlDataReader render = cmd.ExecuteReader();
List<string> IdList = new List<string>();
List<string> First4List = new List<string>();
List<string> Last4List = new List<string>();
List<string> ReasonList = new List<string>();
while (render.Read())
{
IdList.Add(render["id"].ToString());
First4List.Add(render["first4"].ToString());
Last4List.Add(render["last4"].ToString());
ReasonList.Add(render["reason"].ToString());
}
render.close();
string idstr = string.Join(",", IdList);
string first4str = string.Join(",", First4List);
string last4str = string.Join(",", Last4List);
string reasonstr = string.Join(",", ReasonList);
尝试Using
用于SQL连接和命令。这将帮助您摆脱final
障碍,并关闭连接和命令。
浏览代码。
创建了字符串列表,即List<string>
对于所有四列将添加从sql读取的所有数据。
然后正常循环读取数据,并将所有数据分别添加到列表中。
读取数据并将其输入列表后,只需,
使用Join将其加入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句