0

在 Visual Studio 2010(使用 Visual C#)中,我有一个表单,其中有一个列表框(名为 listBox1)。用户选择列表框中显示的项目之一,然后单击保存按钮。该应用程序使用以下方法将用户的选择保存到数据库中:

cmd.CommandText = "insert into Table2 (kat) values ('"+listBox1.SelectedIndex.ToString()+"')"

(编辑)例如它们被保存为 0 或 1 或 2 等...

然后我希望应用程序使用它int来选择另一个 listBox 上的相同项目,具有完全相同的项目但在另一个表单上。

到目前为止,我所拥有的是:

cmd.CommandText = "select * from Table1 WHERE username='"+textBox1.Text+"'";
                                dr = cmd.ExecuteReader();
                                if (dr.HasRows)
                                {
                                    while (dr.Read())
                                    {
                                        form1.listBox1.SelectedIndex(dr[0]);
                                    }

                                }
4

1 回答 1

1

String在数据库中插入值,然后尝试以Integer错误的方式添加值

正确地将值插入为整数

cmd.CommandText = "INSERT INTO Table1(kat) VALUES(@id)";
cmd.Parameters.AddWithValue("@id", listBox1.SelectedIndex);
cmd.ExecuteNonQuery();

要在其他表单上创建列表框的副本,您可以使用SELECT查询来执行此操作。

前任。

cmd.CommandText = "SELECT kat FROM Table1";

var reader = cmd.ExecuteReader();

while(reader.Read())
{
    otherListBox.Items.Add(reader[0]);
}
reader.Close();

要同步列表,试试这个

int index = listBox1.FindStringExact("id to find");

if (index > -1)
{
    listBox1.SelectedIndex = index;
}
于 2013-05-18T17:33:56.457 回答