public void button1_Click(object sender, EventArgs e)
        {
            i = listView1.Items.Count;
            listView1.Items.Add(textBox1.Text);
            listView1.Items[i].SubItems.Add(textBox2.Text);            
            textBox1.Text = "";
            textBox2.Text = "";
        }private void button3_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("server=.;database=superet;trusted_connection=true");
            SqlCommand cmd = new SqlCommand();
            cmd.Connection= con;
            con.Open();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "selling";
            SqlParameter[] par =
                {
                    new SqlParameter("@num",SqlDbType.Int,4),
                    new SqlParameter("@amount",SqlDbType.Int,4)
                };
            for (m = 0; m < listView1.Items.Count; m++)
            {
                par[0].Value = listView1.Items[m];
            }
            for (n = 0; n < listView1.Items.Count; n++)
            {
                par[1].Value = listView1.Items[n].SubItems;
            }
                foreach (SqlParameter parms in par)
                {
                    cmd.Parameters.Add(parms);
                }
            
            con.Close();
        } 
cmd.ExecuteNonQuery();处出错,提示 将参数值从 ListViewItem 转换到 Int32 失败。
我数据库中要修改的两处均是int类型,长度4
怎么改错?                          

解决方案 »

  1.   

     for (m = 0; m < listView1.Items.Count; m++) 
                { 
                    par[0].Value = listView1.Items[m]; 
                } 
                for (n = 0; n < listView1.Items.Count; n++) 
                { 
                    par[1].Value = listView1.Items[n].SubItems; 
                }应该是这里吧listView1.Items[m]; 
    这只是LISTVIEW的列,要获取的是列的值
      

  2.   

    listView1.Items[m].;在ITEMS后面再点一下能出来东西不,应该有个VALUE的属性 
      

  3.   

    将参数值从 ListViewItem 转换到 Int32 失败。?类型不对?
      

  4.   

    楼主这样赋值感觉也不正确吧,每个参数只能是每个列的最后一个值了,应该要用FOR嵌套循环
      

  5.   

    ??
    (int32) listView1.Items[m].Text