powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Заполнение ComboBox-а
19 сообщений из 19, страница 1 из 1
Заполнение ComboBox-а
    #35617158
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Я из базы Oracle с помощью запроса с параметрами вытаскиваю некоторые данные...

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
conn.ConnectionString = "Data Source=ttmbdb.ttmobile.tj;User Id=irina;Password=ameli"
Dim app As New Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
wb = app.Workbooks.Add
ws = wb.Worksheets(1)
conn.Open()
Dim comm As New OracleCommand("select t.name, c.number from calls c, bs_name b " & _
"where c.bs_bs_id=b.bs_id " & _
"and c.date>=:START_DATE " & _
"and c.date<=to_date(:END_DATE)+1 " & _
"and bs_id=50", conn)

comm.CommandType = CommandType.Text

Dim ps, pe, prp As New OracleClient.OracleParameter
ps.ParameterName = ":START_DATE"
ps.Direction = ParameterDirection.Input
ps.OracleType = OracleType.DateTime
ps.Value = DTP1.Text
commDASIM.Parameters.Add(ps)

pe.ParameterName = ":END_DATE"
pe.Direction = ParameterDirection.Input
pe.OracleType = OracleType.DateTime
pe.Value = DTP2.Text
commDASIM.Parameters.Add(pe)

Dim dr As OracleDataReader
dr = commDASIM.ExecuteReader
Dim i As Integer
i = 4
While dr.Read
ws.Cells(i, 2) = dr("name")
ws.Cells(i, 3) = dr("number")
i = i + 1
End While

dr.Close()
conn.Close()
app.Visible = True
End Sub
На форме у меня 2 DataTimePicker-а, где я выбираю дату. Есть еще один ComboBox, который я хочу заполнить данными из таблицы bs_name (список базовых станций). В общем при работе программы пользователь выбирает период, а из списка выбирает название базовой станции, и при нажатии на кнопку формирует отчет по этой базовой станции. Помогите пожалуйста как в коде заполнить ComboBox данными из таблицы?
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35620505
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я попробовала сделать так...

Dim comm2 As New OracleCommand("select * from bs_name b", conn)
Dim da As New OracleDataAdapter(comm2)
Dim ds As New DataSet
da.Fill(ds)

CBox1.DataSource = ds
CBox1.DisplayMember = "name"
CBox1.ValueMember = "bs_id"
но ComboBox не заполнился. В чем может быть дело?
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35620749
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скриншоты давай. а то словами у тебя трудно идет объяснение.
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35620877
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Замените DataSet на DataTable:
Код: plaintext
1.
2.
3.
comboBox1.DataSource=ds.Tables["Master"];
comboBox1.ValueMember="Id";
comboBox1.DisplayMember="Name";
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35622658
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я попробовала зделать так, но все равно не получается, не знаю что уже придумать, помогите пожалуйста...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim commrtt As New OracleCommand("select * from bs_name b", conn)
        commrtt.CommandType = CommandType.Text
        Dim da As New OracleDataAdapter(commrtt)
        Dim ds As New DataSet
        da.Fill(ds, "bs_name")

        CBox1.DataSource = ds.Tables("bs_name")
        CBox1.DisplayMember = "name"
        CBox1.ValueMember = "bs_id"
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35622670
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покажи скриншот,который отоборазит твою проблему.
и еще укажи тип контрола.
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35622673
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще скриншот,свойств этого контрола.
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35622707
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ds.Tables("bs_name").Rows.Count
и еще чему равна эта переменная?
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35622727
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeiK
чему равна эта переменная?

+1
AlexeiK
покажи скриншот

/me думает: повбывав бы...

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35622752
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. А так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim commrtt As New OracleCommand("select * from bs_name b", conn)
commrtt.CommandType = CommandType.Text
Dim da As New OracleDataAdapter(commrtt)
Dim dt As New DataTable
da.Fill(dt)

CBox1.DataSource = dt
CBox1.DisplayMember = "name"
CBox1.ValueMember = "bs_id"

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35622773
Я делаю вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
tableList = new DataTable();

adapterList = new OleDbDataAdapter("select id, sname from List order by id", dbConnection);
adapterList.Fill(tableList);

column.DataSource = tableList;
column.DisplayMember = "sname";
column.ValueMember = "id";

У меня этот код работает на 100%.

Может Вы указали какие-то страшные свойства у комбобокса?
Может Вам попробовать удалить с формы этот комбик и создать новый?
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35625123
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, все получилось

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim commrtt As New OracleCommand("select * from bs_name b", conn)
        commrtt.CommandType = CommandType.Text

        conn.Open()
        Dim da As New OracleDataAdapter(commrtt)
        Dim ds As New DataSet
        da.Fill(ds, "bs_name")

        CBox1.DataSource = ds.Tables("bs_name")
        CBox1.DisplayMember = "name"
        CBox1.ValueMember = "bs_id"
        conn.Close()

Но вот когда я создаю параметр...

Код: plaintext
1.
2.
3.
4.
  prp.ParameterName = ":BS_ID"
        prp.Direction = ParameterDirection.Input
        prp.OracleType = OracleType.Number
        prp.Value = CBox1.ValueMember
        commDASIM.Parameters.Add(prp)

и потом вставляю его в запрос...

Код: plaintext
1.
2.
3.
4.
5.
Dim comm As New OracleCommand("select t.name, c.number from calls c, bs_name b " & _
"where c.bs_bs_id=b.bs_id " & _
"and c.date>=:START_DATE " & _
"and c.date<=to_date(:END_DATE)+1 " & _
"and bs_id=:BS_ID", conn)

при запуске выдает ошибку
Failed to convert parameter value from a String to a Decimal.
Не подскажите, что нужно выбрать вместо prp.Value = CBox1. ValueMember ?
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35625204
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hum_i
Спасибо, все получилось

/me думает: ну и чем это отличается от этого ?
hum_i
Но вот когда я создаю параметр...
Код: plaintext
1.
2.
3.
4.
5.
prp.ParameterName = ":BS_ID"
prp.Direction = ParameterDirection.Input
prp.OracleType = OracleType.Number
prp.Value = CBox1.ValueMember
commDASIM.Parameters.Add(prp)

По идее - все д.б. сухо. Попробуйте явно привести CBox1.ValueMember к нужному типу.

P.S. Вроде все ясно, но, как говорится, чем черт не шутит: у Вас там три параметра - Вы уверены, что ошибка относится к :BS_ID?
P.P.S. А сам запрос в таком виде в каком-нить isql отрабатывает без проблем?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35625392
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уверена, что именно к этому параметру. До того, как я его добавила, все работало отлично, и вот именно этот параметр ни как не хочет. И сам запрос тоже работает.
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35625607
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Что в CBox1.ValueMember до присвоения?
2. Что в prp.Value после присвоения? Какой тип?
3. Явно приводить пробовали?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35630968
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
prp.ParameterName = ":BS_ID"
двоеточие здесь убери
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35630970
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
decimal.Parse(CBox1.ValueMember)
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35630974
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой нет
Код: plaintext
1.
decimal.Parse(CBox1.SelectedValue.ToString())
...
Рейтинг: 0 / 0
Заполнение ComboBox-а
    #35632445
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо все получилось
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Заполнение ComboBox-а
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]