关于SqlDataAdapter中填充的问题?各位大哥,帮帮忙!

tianliang1 2009-10-28 12:49:13
我想用SqlDataAdapter去填充listView1中的各项,应该怎么实现?
这是我已经写好的代码,下面该怎么做?
希望高手指教,谢谢!!!
SqlCommand cmd1 = new SqlCommand();
cmd1.CommandText = "select * from song_table where song_name="+txt_ch_name .Text ;
cmd1.Connection = strconn.conn;
SqlDataAdapter dr = new SqlDataAdapter(cmd1 );
...全文
141 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
LutzMark 2009-10-28
  • 打赏
  • 举报
回复
填充个DataSet给控件做数据源
tianliang1 2009-10-28
  • 打赏
  • 举报
回复
用DataAapter这么填充listView?
tianliang1 2009-10-28
  • 打赏
  • 举报
回复
那ListView中只有用用数组来填充吗?
ginni215 2009-10-28
  • 打赏
  • 举报
回复
listView要加很麻烦的,加列再加项,一行一行的~~
chengzq 2009-10-28
  • 打赏
  • 举报
回复
方法大同小异,用我上面提供的SqlDataAdapter那个方法也是一样的。
fengniumaxi 2009-10-28
  • 打赏
  • 举报
回复
呵呵,不谢,以后多思考下会比较好,这样才能提高的比较快,呵呵。不要为了实现而实现。
[Quote=引用 16 楼 tianliang1 的回复:]
看来,知识有限,就算别人给你提供了好的办法,自己也不知道该怎么用
呵呵,所以很多时候,只有用一些较笨的方法
最后感谢各位仁兄帮忙!!!
尤其是9楼的大哥


[/Quote]
tianliang1 2009-10-28
  • 打赏
  • 举报
回复
看来,知识有限,就算别人给你提供了好的办法,自己也不知道该怎么用
呵呵,所以很多时候,只有用一些较笨的方法
最后感谢各位仁兄帮忙!!!
尤其是9楼的大哥

tianliang1 2009-10-28
  • 打赏
  • 举报
回复
哎,我没有什么办法,我该用SqlDataReader了
就是新建一个数组,Read方法读出来,填充数组
最后在去填充ListView中的各项就是了
下面是我程序中的代码,虽然显得有点笨,不过易懂实用!!!
while (read.Read())
{
array[0] = read.GetSqlInt32(0).ToString ();
array[1] = read.GetSqlInt32(1).ToString ();
array[2]= read. GetSqlString(2).ToString ();
array[3] = read.GetSqlString(3).ToString ();
array[4] = read.GetSqlString(4).ToString ();
array[5] = read.GetSqlString(5).ToString ();
array[6] = read.GetSqlString(6).ToString ();
array[7] = read.GetSqlInt32(7).ToString();
this.listView2.Items.Add(new ListViewItem(array ));
}
read.Close();
chengzq 2009-10-28
  • 打赏
  • 举报
回复
这里的数据表是我自己建的,用于测试,不过好像还是不行,看看楼主有好的方法没,大家互相学习。
chengzq 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 tianliang1 的回复:]
楼上这位大哥,真像一个老师,呵呵!!!不过我还是不怎么懂
其实就是想把从数据库中的查询结果,是一个数据集合,包括不止一行数据,把它放入ListView中显示
楼上这位大哥,你的建议很好,谢谢。
不过,我还是不懂,你的IList <T>lst=GetData();是什么意思呀,我是新手不懂,多希望你说具体点!

[/Quote]listview 好像不可以完全把你的数据表中的内容显示出来的。
如果硬要填充的话:
方法一:
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds, "stu_tb");
string[] str = new string[3];
foreach (DataRow row in ds.Tables[0].Rows)
{
str[0] = row["stuID"].ToString();
str[1] = row["name"].ToString();
str[2] = row["age"].ToString();
ListViewItem item = new ListViewItem(str);

this.listView1.Items.Add(item);
}
方法二:
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
ListViewItem items = new ListViewItem();
string[] test = new string[] { reader["stuID"].ToString(), reader["name"].ToString(), reader["age"].ToString() };
items.SubItems.AddRange(test);

this.listView1.Items.Add(items);

}
reader.Close();
conn.Close();
楼主试试代码,我搞了好久,好像还是不怎么行。
fengniumaxi 2009-10-28
  • 打赏
  • 举报
回复
我只是举个例子,并且那个例子是可行的,T是泛型,里面可以填写你需要的类型,比如一个对象或者string,或者其他的都行。获取Ilist<T>需要使用SQLDATAReader,但其他也是可以的,具体我没试验,但我写的这个方法肯定是可以通过的。

[Quote=引用 10 楼 tianliang1 的回复:]
楼上这位大哥,真像一个老师,呵呵!!!不过我还是不怎么懂
其实就是想把从数据库中的查询结果,是一个数据集合,包括不止一行数据,把它放入ListView中显示
楼上这位大哥,你的建议很好,谢谢。
不过,我还是不懂,你的IList <T>lst=GetData();是什么意思呀,我是新手不懂,多希望你说具体点!
[/Quote]
Aslangg 2009-10-28
  • 打赏
  • 举报
回复
IList<T> 是C#中的泛型
IList<T> lst=GetData() 就是GetData()这个方法返回一个泛型列表 T可以放入你的model类
也可以这样绑定

IList<T> list = new List<T>();
ListView listView1 = new ListView();
listView1.DataSource = list;
listView1.DataBind();
tianliang1 2009-10-28
  • 打赏
  • 举报
回复
楼上这位大哥,真像一个老师,呵呵!!!不过我还是不怎么懂
其实就是想把从数据库中的查询结果,是一个数据集合,包括不止一行数据,把它放入ListView中显示
楼上这位大哥,你的建议很好,谢谢。
不过,我还是不懂,你的IList<T>lst=GetData();是什么意思呀,我是新手不懂,多希望你说具体点!
fengniumaxi 2009-10-28
  • 打赏
  • 举报
回复
首先,我们不考虑什么控件
ListView可以干什么?它是由什么组成的,好像他有很多ListViewItem组成的吧
那么我什么都不考虑,如果返回一个Ilist<T>类型的数据,那么我是不是可以处理?
IList<T> lst = GetData();
ListView lv = new ListView();
foreach (T t in lst)
{
lv.Add(new ListViewItem(t.value));//把T里面的某个字段放进去
}
这样不就可以了么

其次,如果是使用其他方法,好像也是可以的吧,我无论怎么搞,我只要能获取到数据,好像就可以放入到ListView里面的吧?

最后,建议自己以后使用某个东西的时候,看下当前控件或者类是怎么回事,有哪些特性
cc_net 2009-10-28
  • 打赏
  • 举报
回复
ListView自己去一行行的的绑定吧。

tianliang1 2009-10-28
  • 打赏
  • 举报
回复
ListView好像不可以从设置数据源吧,大哥些,可以说具体点吗?
SQL77 2009-10-28
  • 打赏
  • 举报
回复
DATAGRIDVIEW 不是可以?
用DATASET 循环弄?
那就不如直接绑定到DATAGRIDVIEW
fengniumaxi 2009-10-28
  • 打赏
  • 举报
回复
或者直接返回ILIST,然后foreach加或者数据源是ILIST
DataSet也行

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧