从表到列表的C#SQL记录
我试图从表中获取所有记录并在控制台中打印出来 我的Userlist.cs从表到列表的C#SQL记录,c#,list,console,C#,List,Console,我试图从表中获取所有记录并在控制台中打印出来 我的Userlist.cs public List<Userlist> CreateList() { using (SqlConnection conn = new SqlConnection(Sqlstring)) { using (SqlCommand cmd = new SqlCommand(ListCreateQuery, conn)) { conn.Open
public List<Userlist> CreateList()
{
using (SqlConnection conn = new SqlConnection(Sqlstring))
{
using (SqlCommand cmd = new SqlCommand(ListCreateQuery, conn))
{
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
List<Userlist> Users = new List<Userlist>();
while (reader.Read())
{
Userlist U = new Userlist();
U.fornavn = (string)reader["Fornavn"];
U.efternavn = (string)reader["Efternavn"];
U.mail = (string)reader["Mail"];
U.tlfnr = (string)reader["TlfNr"];
Users.Add(U);
}
return Users;
}
}
}
}
当我运行它时,它只打印
mynamespace.userlist
3次(我的记录数)您在对象上使用的字符串,因此它打印对象名称
您需要在每个属性上使用它并写入:
foreach(Userlist user in UL.CreateList())
{
Console.WriteLine(user.fornavn);
Console.WriteLine(user.efternavn );
Console.WriteLine(user.mail);
Console.WriteLine(user.tlfnr);
}
您正在对象上使用toString,因此它将打印对象名称 您需要在每个属性上使用它并写入:
foreach(Userlist user in UL.CreateList())
{
Console.WriteLine(user.fornavn);
Console.WriteLine(user.efternavn );
Console.WriteLine(user.mail);
Console.WriteLine(user.tlfnr);
}
将类对象传递到
控制台.WriteLine
将调用它的.ToString()
方法(如果对象不是null
)。如果希望在调用.ToString()
时显示属性值,可以重写类中的方法:
public class Userlist
{
.....
public override string ToString()
{
return "fornavn: " + fornavn + " efternavn: " + efternavn + " mail: " + mail
+ " tlfnr: " + tlfnr;
}
}
将类对象传递到控制台.WriteLine
将调用它的.ToString()
方法(如果对象不是null
)。如果希望在调用.ToString()
时显示属性值,可以重写类中的方法:
public class Userlist
{
.....
public override string ToString()
{
return "fornavn: " + fornavn + " efternavn: " + efternavn + " mail: " + mail
+ " tlfnr: " + tlfnr;
}
}
因为这是你的课。重写该类的ToString
,或选择该类的属性。。。对于axample:Console.WriteLine(user.fornavn)代码>我是新来列表的,所以它的尝试和错误最多,我该如何更改它,以便它打印出列表中的内容?啊,谢谢你的Codexer,这解决了我的问题!这回答了你的问题吗?因为这是你的课。重写该类的ToString
,或选择该类的属性。。。对于axample:Console.WriteLine(user.fornavn)代码>我是新来列表的,所以它的尝试和错误最多,我该如何更改它,以便它打印出列表中的内容?啊,谢谢你的Codexer,这解决了我的问题!这回答了你的问题吗?这正是我想要做的,我将如何实现这一点?以前从未使用过覆盖。只需将答案中的内容添加到您的类
用户列表
。然后,当您将对象传递到控制台.WriteLine
时,它将调用此版本的.ToString()
。如果你想了解更多,这里有一个指向MSDN文档的链接:()是的,它可以工作!感谢您的帮助和阅读:)将类对象传递到Console.WriteLine将调用它的.ToString()方法,如果该对象不为null
可能传递对象…
该方法中的任何内容都将调用ToString
。当然,你提到如果它不为null,它就不能调用那个方法。这就是我想要做的,我该如何实现它?以前从未使用过覆盖。只需将答案中的内容添加到您的类
用户列表
。然后,当您将对象传递到控制台.WriteLine
时,它将调用此版本的.ToString()
。如果你想了解更多,这里有一个指向MSDN文档的链接:()是的,它可以工作!感谢您的帮助和阅读:)将类对象传递到Console.WriteLine将调用它的.ToString()方法,如果该对象不为null
可能传递对象…
该方法中的任何内容都将调用ToString
。当然,您提到了如果它不为null,则不能调用该方法。