小弟刚学C#,想用listview显示一张SQL表中的所有数据,请问怎么写呢?private void LV_admin_SelectedIndexChanged(object sender, EventArgs e)
{
string sql = "select * from j_adminuser";
SqlConnection myCon = new SqlConnection();
myCon.ConnectionString = "server=.;uid=sa;pwd=123;database=book"; SqlCommand myCmd = new SqlCommand(sql,myCon);
SqlDataReader myRed = myCmd.ExecuteReader();
}
{
string sql = "select * from j_adminuser";
SqlConnection myCon = new SqlConnection();
myCon.ConnectionString = "server=.;uid=sa;pwd=123;database=book"; SqlCommand myCmd = new SqlCommand(sql,myCon);
SqlDataReader myRed = myCmd.ExecuteReader();
}
解决方案 »
- C#写的com(ICopyHook)无法实例---
- 关于split函数
- 如何在C#中用小画家打开一张图片?(注:这张图片是存放于ORACLE数据库中一张表的字段里的)TKS!
- C# 三个线程同步
- socket和线程高人进来:如何解决多个客户端并发连接?
- winform问题:在窗体上添加大量控件时,会造成在窗体切换时强烈的刷新感,怎么解决?
- Enterprise Library3.0 DataAccess使用困惑,望解答,感激!
- EXCEL中URL的存储问题,急!!!
- 用HashPasswordForStoringInConfigFile方法加密的字符串如何解密?
- 请教:关于数据保存的问题。
- C#如何调用存储过程的参数?
- C#注释问题
SqlConnection myCon = new SqlConnection();
myCon.ConnectionString = "server=.;uid=sa;pwd=123;database=book"; SqlCommand myCmd = new SqlCommand(sql, myCon);
SqlDataReader myRed = myCmd.ExecuteReader();
string[] _ValueText = new string[myRed.FieldCount];
while (myRed.Read())
{
for (int i = 0; i != _Value.Length; i++)
{
_ValueText[i] = myRed[i].ToString();
}
listView1.Items.Add(new ListViewItem(_ValueText));
}
自己做了小小改动还是不行,麻烦再帮忙看看: private void LV_admin_SelectedIndexChanged(object sender, EventArgs e)
{
string sql = "select * from j_adminuser";
SqlConnection myCon = new SqlConnection();
myCon.ConnectionString = "server=.;uid=sa;pwd=123;database=book"; SqlCommand myCmd = new SqlCommand(sql,myCon);
SqlDataReader myRed = myCmd.ExecuteReader(); string[] lvText = new string[myRed.FieldCount];
while (myRed.Read())
{
ListViewItem item = new ListViewItem(myRed.GetString(0));
item.SubItems.Add(myRed.GetString(1));
item.SubItems.Add(myRed.GetString(2));
item.SubItems.Add(myRed.GetString(3));
item.SubItems.Add(myRed.GetString(4));
item.SubItems.Add(myRed.GetString(5));
item.SubItems.Add(myRed.GetString(6));
item.SubItems.Add(myRed.GetDateTime(7).ToString());
item.SubItems.Add(myRed.GetString(8));
for (int i = 0; i != lvText.Length; i++)
{
lvText[i] = myRed[i].ToString();
}
} }顺便提一下,我那张表有9列噢
userid,user_name,password,admin,del,add,update,crdate,cruser
ListViewItem lviStudy = new ListViewItem(id.ToString());
//为ListView添加一个新项
lvStudy.Items.Add(lviStudy);
//为ListView添加子项
lviStudy.SubItems.AddRange(new string[] {查出的第二列值,第三列,四列 ,.... }); (记住要注意好类型之间的转换。全部要转换成string的)
这里为什么是用while (myRed.Read()){}````其他的都能理解```就这里有点理解不了```我做过是用if(myRed.Read())的```用while()这样不会出现死循环吗```初学```望指点```
while (myRed.Read())
{}````
string sql = "select * from j_adminuser";
SqlConnection myCon = new SqlConnection();
myCon.ConnectionString = "server=.;uid=sa;pwd=123;database=book"; SqlCommand myCmd = new SqlCommand(sql, myCon);
SqlDataReader myRed = myCmd.ExecuteReader();
string[] _ValueText = new string[myRed.FieldCount];
//if 和while 都可以 楼主基础还要加强啊。
//你可以这样理解:当执行命令成功,返回TRUE,也就是 while(true)
//此时为真,执行一下的句子,如果不能读取,就是FALSE,不执行,也就不显示了
while (myRed.Read())
{
for (int i = 0; i != _Value.Length; i++)
{
_ValueText[i] = myRed[i].ToString();
}
listView1.Items.Add(new ListViewItem(_ValueText));
}
//*显示数据的方法有很多,你可以用适配器,也可以直接绑定数据
不过这都要靠多学习,多写代码才能理解*//
先谢谢 Lisons_jie 再问一下```按上面代码那样````myRed.Read()中读到的是"select * from j_adminuser"取得的所有记录还是只是其中的一条记录```?
foreach(DataRow row in dt)
{
listview1.items.add(row["显示的列名"])
}
string sql = "select * from j_adminuser";
SqlConnection myCon = new SqlConnection();
myCon.ConnectionString = "server=.;uid=sa;pwd=123;database=book"; SqlCommand myCmd = new SqlCommand(sql, myCon);
SqlDataReader myRed = myCmd.ExecuteReader();
string[] _ValueText = new string[myRed.FieldCount];
//if 和while 都可以 楼主基础还要加强啊。
//你可以这样理解:当执行命令成功,返回TRUE,也就是 while(true)
//此时为真,执行一下的句子,如果不能读取,就是FALSE,不执行,也就不显示了
while (myRed.Read())
{
for (int i = 0; i != _Value.Length; i++)
{
_ValueText[i] = myRed[i].ToString();
}
listView1.Items.Add(new ListViewItem(_ValueText));
}
//*显示数据的方法有很多,你可以用适配器,也可以直接绑定数据
不过这都要靠多学习,多写代码才能理解*//
请问最后一句是什么意思:listView1.Items.Add(new ListViewItem(_ValueText));
还有最后一句的:listView1从哪里来的?
将这些ListViewItem 添加进去,listView1从哪里来的? 自己添加一个listView1就好了,也可以自己用代码写
继续上面的吧。你说myRed.Read()中读到的是"select * from j_adminuser"取得的所有记录还是只是其中的一条记录```?如果你用if(myRed.Read()){.....}读到的只有一天记录
又while(myRed.Read()){.....}读取到的就是你那张表里所以的记录