如何从listview移动数据并插入数据库?

时间:2014-03-14 08:31:39

标签: c# database visual-studio-2010 listview insert

在我的litte项目中,我有两个listview和两个db。第一个listview是从第一个数据库表填充的。第二个是从第一个选定的项目填充。

两个列表框以相同的模式构建:

`name | surname | id`.

在第一个列表框中,我列出了在db

中插入的所有用户
`Ale | Zucchelli | 5`
`Faby | Jake | 6`
`Alexa | Doctor | 7`
`Mattias | Rossi | 12`

当我选择一个元素时,单击移动按钮,选择项目将移动到第二个列表框。

 second listbox items

`Ale | Zucchelli | 5`
`Mattias | Rossi | 12`

当我点击Insert按钮时,第二个列表框的项目我必须将它发送到我的db的第二个表,但我必须只注册id。

我试过这段代码:

private void btmconferma_Click(object sender,EventArgs e)     {

    string idutente;
    //string idu_retrive = string.Empty;
    //object value = 0;
    idutente = user.Text;

    //string querysql2 = " INSERT INTO AMICIZIA (IdUtente1, [idamici]) VALUES ('" + idutente + "', '" + value + "')";
    //SqlConnection myconn = new SqlConnection(CnnStr);
    //SqlCommand mycmd = new SqlCommand(querysql2, myconn);
    foreach (ListViewItem l in listamicizie.Items)
    {
        string CnnStr = System.Configuration.ConfigurationSettings.AppSettings["CnnStr"].ToString();
        SqlConnection myconn = new SqlConnection(CnnStr);
        myconn.Open();
        SqlCommand cmd = new SqlCommand("insert into AMICIZIA (IdUtente1) values('" + idutente + "')", myconn);
        //SqlCommand cmd1 = new SqlCommand("insert into AMICIZIA (idamici) values('" + l.SubItems["IdUtente"].ToString() + "')", myconn);
        SqlCommand cmd1 = new SqlCommand("insert into AMICIZIA (idamici) values('" + listamicizie.Columns["IdUtente"].Text + "')", myconn);


        cmd.ExecuteNonQuery();
        cmd1.ExecuteNonQuery();
        myconn.Close();
    }


    this.Close();
}

IdUtente的值是正确的,但idamici的值始终为零。 我怎么做?

1 个答案:

答案 0 :(得分:0)

您的SQl应如下所示:

SqlCommand cmd = new SqlCommand("insert into AMICIZIA (IdUtente1) values('" + l.Text; + "')", myconn);

ListViewItem l是您创建的循环中的实际值。