C# For循环返回的信息在我放入break语句时不应该是这样的
我试图从一个SQL数据库中检索信息,该数据库具有类型a、B和C,例如C# For循环返回的信息在我放入break语句时不应该是这样的,c#,sql,C#,Sql,我试图从一个SQL数据库中检索信息,该数据库具有类型a、B和C,例如 COL1 COL2 A X A X A X A X A X B X B X B X C X C X C X 我有以下代码: StringBuilder sb = new StringBuilder();
COL1 COL2
A X
A X
A X
A X
A X
B X
B X
B X
C X
C X
C X
我有以下代码:
StringBuilder sb = new StringBuilder();
string line = "";
string d = ",";
foreach (DataColumn c in T.Columns)
{
line = line + c.ColumnName + d;
}
sb.AppendLine(line);
foreach (DataRow r in T.Rows)
{
line = "";
for (int i = 0; i < T.Columns.Count; i++)
{
DataRow R = T.Rows[i];
if (R[0].ToString() != "A" )
{
break;
}
line = line + r[i].ToString() + d;
}
sb.AppendLine(line);
}
File.WriteAllText(filePath, sb.ToString());
StringBuilder sb=新建StringBuilder();
字符串行=”;
字符串d=“,”;
foreach(T.Columns中的数据列c)
{
line=line+c.ColumnName+d;
}
给某人加上一行(一行);
foreach(T.Rows中的数据行r)
{
第“”行;
对于(int i=0;i
当我运行此程序并尝试获取输出(一个.csv文件)时,它会返回所有行以及a、B和C值,而我只希望它返回a值并停止
有什么建议吗?只需检查第一列即可决定是否输出该行
foreach (DataRow r in T.Rows)
{
if(r[0]=="A")
{
line = "";
for (int i = 0; i < T.Columns.Count; i++)
{
line = line + r[i].ToString() + d;
}
sb.AppendLine(line);
}
}
File.WriteAllText(filePath, sb.ToString());
foreach(T.Rows中的数据行r)
{
如果(r[0]=“A”)
{
第“”行;
对于(int i=0;i
如果您的行已排序,并且您知道可以在第一行不以A开头后停止:
foreach (DataRow r in T.Rows)
{
if(r[0]!="A") break;
line = "";
for (int i = 0; i < T.Columns.Count; i++)
{
line = line + r[i].ToString() + d;
}
sb.AppendLine(line);
}
File.WriteAllText(filePath, sb.ToString());
foreach(T.Rows中的数据行r)
{
如果(r[0]!=“A”)中断;
第“”行;
对于(int i=0;i
put it line=line+r[i].ToString()+d;在if(R[0].ToString()=“A”)语句中并从itIf中删除break如果i
是列的索引,那么DataRow R=T.Rows[i]
的确切意义是什么?如果有一行五列呢?这将引发一个异常。很抱歉,juharr,我将为您更新代码,以便您可以看到完整的类。看到更多的代码将无法澄清您为什么在行上使用列索引。rashfmnb,当我尝试返回日期时,出于某种原因Hi Steven我不得不将r[0]更改为r[0]。ToString()我希望它能起作用,但它很有魅力,非常感谢