C# 对如何填充listview感到困惑
我有一个包含两列的表:C# 对如何填充listview感到困惑,c#,listview,C#,Listview,我有一个包含两列的表:username和age。我要做的是用来自数据库的数据填充ListView。我想我遗漏了一些东西,因为每次加载表单时,ListView都是空的。我注意到,DataReader的属性HasRows在调试时返回false void populate() { SqlCommand cmd = new SqlCommand("select * from users ", con); dr = cmd.ExecuteReader();
username
和age
。我要做的是用来自数据库的数据填充ListView。我想我遗漏了一些东西,因为每次加载表单时,ListView都是空的。我注意到,DataReader
的属性HasRows
在调试时返回false
void populate()
{
SqlCommand cmd = new SqlCommand("select * from users ", con);
dr = cmd.ExecuteReader();
while (dr.Read())
{
ListViewItem lvi = new ListViewItem(dr[0].ToString());
lvi.SubItems.Add(dr[1].ToString());
listView1.Items.Add(lvi);
}
dr.Close();
dr.Dispose();
}
private void button1_Click(object sender, EventArgs e)
{
using (con = new SqlConnection("server=.\\sqlepxress;database=Projects;Integrated Security=sspi")) {
try
{
con.Open();
populate();
}
catch (SqlException x )
{
MessageBox.Show(x.Message);
}
}
}
您的连接字符串无效,请尝试:
con = new SqlConnection("Data Source=....;Initial Catalog=..;Connect Timeout=15;Integrated Security=sspi";
或者(如果Windows身份验证有问题:)
从您的描述来看,
dr
实际上没有返回任何行。您是否真的连接到了您认为要连接的数据库?我同意Codor的说法,请确认您正在返回行,然后我们可以从那里开始确保您关闭连接或使用using
语句。正在检索的datapart上的断点,然后查看dr
是否已填充。消息框中是否有异常?请查看更新的代码。现在,我在连接数据库时出现异常。在建立到sql Server Hi@apomene的连接时,出现了与网络相关或特定于实例的错误。我的连接字符串为true,但感谢您的建议。我已修改了连接字符串像这样。“Server=.\\sqlexpress;Database=Projects;User Id=sa;Password=1234”和ıt很好用。但是为什么???请注意不要发布凭据。可能WIndows Authendication有问题…如果可以连接WIndows Authendication,请与Management Studio联系。是的,我可以通过Management Studio双向连接。谢谢你的朋友。
new SqlConnection("Data Source="+...+";Initial Catalog=Projects;User id="+user+";Password="+pass+";Connect Timeout=15;Integrated Security=false");