我在SQL Server中有一张学生表,我想执行类似
的查询SELECT *
FROM tbl_students;
但是我不想在C#中写每个列号getValue(0)getValue(1)以获得结果,
我在以下声明中写道
Console.WriteLine("{0},\t{1}", sqlDReader.GetValue(0), sqlDReader.GetValue(1));
我只想获取所有列值而不写每个列的索引号,我们不能简单地获取完整记录的字符串,最好在它们之间使用制表符的空格吗?
答案 0 :(得分:0)
可以。假设您使用的是c#,则类似的事情会起作用
如果您知道列数:
string completeLine = "";
for(int i = 0 ; i < numCols ; i++)
{
completeLine += sqlDReader.GetValue(0).ToString();
if (i < numCols - 1)
completeLine += " ";
}
Console.WriteLine (completeLine);
这假定所有列都可以转换为字符串。还假设您知道列数。有很多更复杂的方法可以做到这一点。
要获取角色数,您可以获取.Columns.Count或类似内容。
然后每行都有一个外循环。注意:不要尝试在整个表上进行这种类型的字符串连接,因为这样做会很慢(因为字符串实际上是不可更改的)。