Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 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
 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 Формируем таблицу
                 ataTable t_MemberName = new DataTable();
ataTable 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 Заполняем таблицу
                 ataRow dr;
ataRow 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
 SHDZ



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