Страница: 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
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();
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;
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
сорри тег не поставил....