如何向Arraylist 中 写入 SQL 数据
有一个数据表dt,有一个Arraylist数组Lista如何将数据表中内容写入Arraylist,并显示在listbox1中?
for (int i = 0; i < dt.Rows.Count; i++)
{
Lista.Add(dt.Rows[i]);
listBox1.Items.Add(Lista[i]);
}
以上程序显示的结果:行数与数据表一样,每行显示的是"system.data.datarow"
不是数据表中的内容 --------------------编程问答-------------------- dt.Rows[i];//取的是DataRow对象
dt.Rows[i]["xx"].ToString();//xx表示列名,取DataRow的某一列的值 --------------------编程问答-------------------- 那这只有某一列的值?我想把数据表中每一行的数据,好像一个类,作为数组中该元素,应该怎么写呢 --------------------编程问答-------------------- 你的程序就是对的。不过你的显示不对。你可以这么显示它:
foreach (object o in Lista)
{
listBox1.Items.Add((o As DataRow)["字段"].ToString());
} --------------------编程问答-------------------- 也就是我的数据表中的每一行信息已经存入数组,比如Lista[0]中已经存放了数据表dt中的第一行的信息了,只是显示时要分字段显示? --------------------编程问答-------------------- 你要了解人家 .Items.Add(obj) 能接受什么数据,你才组织你的数据给它。不要硬塞个 DataGridRow 类型的对象给它然后就指责它不显示。
你要先去懂得人家控件的知识,然后才用它,不然如果你慌慌张张地问“我该怎么写代码”可能没人管更具体的闲事。毕竟微软不是我家开的公司,我不能叫微软去修改 ListBox 控件专门接受个 DataGridRow 对象去。 --------------------编程问答-------------------- 楼上说很明了了。。。
驴头不对马嘴的想法。 --------------------编程问答-------------------- Lista.Add(dt.Rows[i]);
改成
Lista.Add(dt.Rows[i]["字段名称"].Tostring());
补充:.NET技术 , C#