2013-05-18 2 views
0

В Visual Studio 2010 (с использованием визуального C#) у меня есть форма, где есть listBox (с именем listBox1). Пользователь выбирает один из элементов, отображаемых в спискеBox, а затем нажимает кнопку «Сохранить». Приложение сохраняет выбор пользователя в базу данных с помощью:C# listBox.SelectedIndex из базы данных

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

(редактирования) Например, они сохраняются в виде 0 или 1 или 2 и т.д. ...

И я хочу, чтобы приложение использовать что int, чтобы выбрать тот же элемент в другом спискеBox, с точно такими же элементами, но в другой форме.

То, что я до сих пор:

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

           } 

ответ

1

Вы вставляете значение, как String в базе данных, а затем пытается добавить значения в Integer неправильный путь

правильно вставить значение как целое

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

Чтобы создать копию спискаBox в другой форме, вы можете сделать это, используя запрос SELECT.

Ex.

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; 
} 
+0

также при чтении из базы данных, вы можете использовать 'int.Parse (д-р [0] .ToString());'. – Saravanan

+0

Нет необходимости в 'Int32.Parse', поскольку значение вставляется как INT, а не STRING –

+0

Мне все равно, сохранены ли они как int или строка (отредактировано). Я не знаю, как их получить – Shevliaskovic

 Смежные вопросы

  • Нет связанных вопросов^_^