|
|
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
уважаемые кодеры, помогите неопытному человеку как разрулить следующую ситуацию: на форме combobox, datagridview, button, необходимо в зависимости от выбранного значения в combobox.text выбрать из базы при помощи хранимки с параметром данные и поместить их в datagridview делать это желательно по нажатию кнопки, т.е. если за время использования данных в отсоединенном режиме произошли изменения на серваке, то таким запросом можно было бы обновлять datagridview код: private void comboBox1_DropDown(object sender, EventArgs e) { SqlConnection sqlcon = new SqlConnection(@"data source=SERGM\SQLEXPRESS;initial catalog=informatica;" + "integrated security=sspi"); try { sqlcon.Open(); if (sqlcon.State == ConnectionState.Open) { int i; comboBox1.Items.Clear(); SqlCommand sqlcom = new SqlCommand("sSemestr", sqlcon); sqlcom.ExecuteNonQuery(); sqlcom.CommandType = CommandType.StoredProcedure; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter("sSemestr", sqlcon); da.Fill(ds, "sSemestr"); DataTable dt = ds.Tables[0]; for (i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = dt.Rows ; comboBox1.Items.Add(dr[0]); } } } catch (Exception) { if (sqlcon.State != ConnectionState.Open) { MessageBox.Show("подключения не существует"); } } finally { if (sqlcon.State == ConnectionState.Open) { sqlcon.Close(); } } } DataSet ds = new DataSet(); private void button1_Click(object sender, EventArgs e) { string str = comboBox1.Text; SqlConnection sqlcon = new SqlConnection(@"data source=SERGM\SQLEXPRESS;initial catalog=informatica;" + "integrated security=sspi"); //comboBox3.Items.Clear(); SqlCommand sqlcom = new SqlCommand("sNedelya", sqlcon); ds.Clear(); SqlDataAdapter da = new SqlDataAdapter("sNedelya", sqlcon); //sqlcom.UpdatedRowSource = UpdateRowSource.Both ; sqlcon.Open(); try { if (sqlcon.State == ConnectionState.Open) { dataGridView1.DataSource = null; // MessageBox.Show(comboBox3.Text); sqlcom.CommandType = CommandType.StoredProcedure; sqlcom.Parameters.AddWithValue("@semestr",comboBox1.SelectedText); sqlcom.ExecuteNonQuery(); da.Fill(ds, "sNedelya"); //DataTable dt = ds.Tables[0]; dataGridView1.DataSource = ds; dataGridView1.DataMember = "sNedelya"; //comboBox1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); //dateTimePicker1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString(); //dateTimePicker2.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString(); } } catch (Exception) { if (sqlcon.State != ConnectionState.Open) { MessageBox.Show("подключения не существует"); } } finally { sqlcon.Close(); } } заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 10:22 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
открой для себя тэг SRC , в неформатированной писанине на 3 экрана мне лично разбираться недосуг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 10:54 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
уважаемые кодеры, помогите неопытному человеку как разрулить следующую ситуацию: на форме combobox, datagridview, button, необходимо в зависимости от выбранного значения в combobox.text выбрать из базы при помощи хранимки с параметром данные и поместить их в datagridview делать это желательно по нажатию кнопки, т.е. если за время использования данных в отсоединенном режиме произошли изменения на серваке, то таким запросом можно было бы обновлять datagridview код: для обновления combobox: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. а это для заполнения datagridview: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 11:01 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
помогите пожалуйста советом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 11:39 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
а вот отработка по этому поводу профайлера: exec sp_reset_connection exec sNedelya @semestr=N'осенний' sNedelya sNedelya ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 13:33 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
значит параметр передается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 13:33 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
я так и не понял, в чем вопрос. в каком месте не работает? З.Ы. код все равно ужасный а) с тэгом SRC разобрались, но форматирование также нужная вещь ;-) б) друг, ты так и будешь в каждом месте, где нужно получить данные с сервера писать один и тот же код в стиле "Создать соединение"-"Сеодинить"-"Проверить есть ли соединение"-"Создать адаптер/комманду"-"Выполнить запрос" и т.д. я понимаю что copy-paste мощный инструмент, но может ты уже извернешься и повторяющийся однотипный код в один класс оформишь? это просто совет. в) весь код не смотрел, но бросилось в глаза - у комбобокса DataSource есть, не нужно ему строки из таблицы вручную заполнять В целом, если хочешь помощи, начинай с коротких вопросов в стиле, что и где конкретно и при каком действии работает не так как надо (не работает вовсе). Просто нету никакого времени и желания смотреть кучу кода. По крайней мере у меня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2007, 14:03 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
бросилось в глаза: catch(Exception) ты собираешься все исключения обрабатывать? может лучше хотябы SqlException ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 14:03 |
|
||
|
datagridview+combobox
|
|||
|---|---|---|---|
|
#18+
ДатаСет вытащи как член. один раз его настрой (например в конструкторе) а дальше тебе останеться только заполнять таблицу в этом датасете. Комбобокс дейстивтельно можно также на табличку натравить и заполнять какой-нить DataTable. Надо избегать дублирования алгоритмов, сделай функцию с повторяющимся кодом, как тебе советовали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 15:29 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34685018&tid=1352664]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 395ms |

| 0 / 0 |
