日期:2014-05-18  浏览次数:20832 次

listbox保存数据库问题?
listbox内容:

收银机号:1021 交易号:1 金额:200
收银机号:1033 交易号:1 金额:230
收银机号:1018 交易号:1 金额:338



现在保存过程不出错,但是存入数据库的结果全部都是:
System.Windows.Forms.ListBox+SelectedObjectCollection
System.Windows.Forms.ListBox+SelectedObjectCollection
System.Windows.Forms.ListBox+SelectedObjectCollection

遍历listbox保存代码:
C# code

string lsd_text; 
for(int i=0;i<l_sd_list.Items.Count;i++)
{                     
lsd_text = l_sd_list.SelectedItems.ToString();
fee_end = "insert into car_park_sdlist ( sd_syjh ) values ('" + lsd_text + "')";
SqlConnection conn_up = new SqlConnection(fee_conn.sql_conn());
SqlCommand update = new SqlCommand(fee_end, conn_up);
conn_up.Open();
update.ExecuteNonQuery();
conn_up.Close();
}


------解决方案--------------------
C# code
foreach (var item in l_sd_list.SelectedItems)
{                     
fee_end = "insert into car_park_sdlist ( sd_syjh ) values ('" + item + "')";
SqlConnection conn_up = new SqlConnection(fee_conn.sql_conn());
SqlCommand update = new SqlCommand(fee_end, conn_up);
conn_up.Open();
update.ExecuteNonQuery();
conn_up.Close();
}

------解决方案--------------------
这句错啦!
lsd_text = l_sd_list.SelectedItems.ToString();

应为:
lsd_text = l_sd_list.SelectedItems[i].Text;
------解决方案--------------------
SelectedItem 
获取或设置 ListBox 中的当前选定项。
 
SelectedItems 
获取包含 ListBox 中当前选定项的集合。

你的items是个collection,对这个object调用Tostring返回的是类名称。

而你实际要获取的是里面的项。2L的方法不错。
------解决方案--------------------
lsd_text = l_sd_list.SelectedItems.ToString(); 
应该为:
lsd_text.Text = l_sd_list.SelectedItems[i].Text; 
 

------解决方案--------------------
搂主把你的代码+各[i]就可以。

lsd_text = l_sd_list.SelectedItems[i].ToString();


------解决方案--------------------
for(int i=0;i<l_sd_list.Items.Count;i++)
也改成selecteditems
------解决方案--------------------
你用1楼的foreach不行?
------解决方案--------------------
for(int i=0;i<l_sd_list.items.Count;i++)
{
lsd_text = l_sd_list.SelectedItems[0].ToString();

}
------解决方案--------------------
上面的错了

你是保存所有的内容的话
for(int i=0;i<l_sd_list.items.Count;i++)
{
lsd_text = l_sd_list.Items[i].ToString();

}