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保存代码: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();
}

解决方案 »

  1.   

    本帖最后由 caozhy 于 2011-03-23 10:46:58 编辑
      

  2.   

    这句错啦!
    lsd_text = l_sd_list.SelectedItems.ToString();应为:
    lsd_text = l_sd_list.SelectedItems[i].Text;
      

  3.   

    SelectedItem 
    获取或设置 ListBox 中的当前选定项。
     
    SelectedItems 
    获取包含 ListBox 中当前选定项的集合。你的items是个collection,对这个object调用Tostring返回的是类名称。而你实际要获取的是里面的项。2L的方法不错。
      

  4.   

    lsd_text = l_sd_list.SelectedItems.ToString(); 
    应该为:
    lsd_text.Text = l_sd_list.SelectedItems[i].Text; 
     
      

  5.   


    我这个是变量啊,没有.text属性
      

  6.   

    搂主把你的代码+各[i]就可以。lsd_text = l_sd_list.SelectedItems[i].ToString();
      

  7.   

    试过了,提示我:未处理 System.IndexOutOfRangeException Message="索引超出了数组界限。"
      

  8.   

    表:这个应该没问题吧。sd_syjh varchar(200)
      

  9.   

    for(int i=0;i<l_sd_list.Items.Count;i++)
    也改成selecteditems
      

  10.   

    不报错但是也没有存进数据库,  MessageBox.Show("保存成功!","提示"); 这步没有执行到。
     switch (lee_out_up)
                {
                    case DialogResult.Yes:                 
                        string lsd_text="";
                        for(int i=0;i<l_sd_list.SelectedItems.Count;i++)
                        {
                                lsd_text = l_sd_list.SelectedItems[1].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();
                                MessageBox.Show("保存成功!","提示");
                                conn_up.Close();
                        }
                        break;
                    case DialogResult.No:
                        break;
                }
      

  11.   

    for(int i=0;i<l_sd_list.items.Count;i++)
    {
        lsd_text = l_sd_list.SelectedItems[0].ToString();}
      

  12.   

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