【问题标题】:How to move data from listview and insert into database?如何从列表视图中移动数据并插入数据库?
【发布时间】:2014-03-14 08:31:38
【问题描述】:

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

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

`name | surname | id`.

在第一个列表框中,我有在数据库中插入的所有用户的列表

`Ale | Zucchelli | 5`
`Faby | Jake | 6`
`Alexa | Doctor | 7`
`Mattias | Rossi | 12`

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

 second listbox items

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

当我点击插入按钮时,我必须将第二个列表框的项目发送到我的数据库的第二个表,但我必须只注册 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 的值始终为零。 我该怎么做?

【问题讨论】:

  • 在询问之前先尝试并发布结果。
  • 我已经发布了我的代码和结果

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


【解决方案1】:

您的 SQl 应如下所示:

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

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

【讨论】:

  • 代码运行。最后一个问题,我怎么做只取id列的值?
  • 请解释一下你的意思。正确的问题将帮助您理解它。你的表结构是什么?您只想从文本字符串“Mattias | Rossi | 12”中插入部分“12”,然后这样?
  • 抱歉我的解释,但我不太懂英语。我的数据库表结构 id IdUtente 和 Idamici。在 Idamici 我只想插入 listview 的第三个值,在 Mattias Rossi 的情况下,在 Idamici 列 db 中只出现 12
  • 我解决了我的问题! :) 非常感谢@nuclaer,代码是:SqlCommand cmd = new SqlCommand("insert into AMICIZIA (IdUtente1, idamici) values('" + idutente + "', '" + l.SubItems[2].Text + " ')", myconn);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-02
  • 2017-02-10
  • 2019-09-12
  • 2019-11-21
  • 1970-01-01
相关资源
最近更新 更多