Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Не могу разобраться в работе с базами данных Acces Добавлено: 20.08.10 14:52  

Автор вопроса:  Евгений
Здравствуйте. Недавно начал пытаться изучать с Vb.NET и никак не могу разобраться в работе с базами данных Access
Есть база данных с одной таблицой. 3 строки, 12 столбцов. Одна строка соответствует одной записи.

Первый столбец в строке с именем Name – название, следующие 10 с именем num(1-10) – данные, последний столбец с заголовком Count – содержит цифру о количестве заполненных столбцов с данными.

Необходимо, чтоб при выборе текущей строки через ListBox – шел циклический опрос столбцов с данными. С ListBox я разобрался, загрузил в него содержимое столбца Name стандартными средствами VS2005 через компонент TableAdapter, а вот как получить выбранную в listBox строку и считать содержимое ее стобцов с базы – ума не приложу.

Ниже – код моих попыток


        Dim count As Single
        Dim num As Single
        Dim column As DataColumn
        Dim row As DataRow
        Dim text As String

Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged

row =  ‘выбрать в базе данных всю строку, соответствующую выбранной в ListBox записи
count = ‘присвоить число обсчитываемых столбцов у данной записи из столбца Count
        For num = 1 To count ' цикл обсчета всех столбцов данной строки
            column.ColumnName = "num" + num ' получение имени столбца  
text =  ’c присвоенимем содержимого с координатами  column - row в текстовую переменную
            Call View(text, num) ' вызов другой процедуры с полученными параметрами
        Next num
    End Sub


Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 SHDZ



ICQ: 209382104 

Вопросов: 39
Ответов: 244
 Профиль | | #1 Добавлено: 18.02.11 18:37
Мне кажется что идеология хромает вцелом.....
циклы непонятно для чего......
То что в BD одна строка это одна запись - это масло маслянное
Ты связал Листбокс с таблицей?
вот пример тока тут комбобокс и шарп....
        private void BuildcbMemberName()
        {
            int id, Name;
            string ConnectionString =
                            "select id as Id,Name " + Environment.NewLine +
                            "from inbank..MyTable" + Environment.NewLine;

            try
            {
                SqlDataReader drMemberName=null ;
                SqlCommand cmdMemberName = new SqlCommand(ConnectionString, connaction);
                #region Формируем таблицу
                ;DataTable t_MemberName = new DataTable();
                t_MemberName.Columns.Add("Id", Type.GetType("System.Int32";));
                t_MemberName.Columns.Add("Name", Type.GetType("System.String";));
                #endregion
                //bool StatedrMemberName = drMemberName.IsClosed;
                //if (StatedrMemberName == false) drMemberName.Close();
                drMemberName = cmdMemberName.ExecuteReader();
                #region Номера полей
                id = drMemberName.GetOrdinal("Id";);
                Name = drMemberName.GetOrdinal("Name";);
                #endregion
                #region Заполняем таблицу
                ;DataRow dr;
                do
                {
                    while (drMemberName.Read())
                    {
                        dr = t_MemberName.NewRow();
                        dr["id"] = drMemberName.GetInt32(id);
                        dr["Name"] = drMemberName.GetValue(Name).ToString(); ;
                        t_MemberName.Rows.Add(dr);
                    }
                }
                while (drMemberName.NextResult());
                drMemberName.Close();
                #endregion
                cbMemberName.DataSource = t_MemberName;
                cbMemberName.DisplayMember = "Name";
                cbMemberName.ValueMember = "id";
                drMemberName.Close();
            }
            catch (SqlException ex)
            {
                #region Error
                string error = "";
                error += ex.Message + "\n";
                foreach (SqlError err in ex.Errors)
                {
                    error += err.Message + "\n";
                }
                MessageBox.Show(ex.Message);
                #endregion
            }
        }

а затем определяю чего наклацали
drProtokolValue["MemeberId"] = cbMemberName.SelectedValue;

Ответить

Номер ответа: 2
Автор ответа:
 SHDZ



ICQ: 209382104 

Вопросов: 39
Ответов: 244
 Профиль | | #2 Добавлено: 18.02.11 18:39
сорри тег не поставил....

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам