VC # 2008: Получить имена таблиц из DataTable в ComboList - PullRequest
0 голосов
/ 03 февраля 2009

Моя программа, цель которой я пишу, возникла с этой проблемой:

Существует два пользователя, каждый из которых сохраняет в файл .MDB. Один пользователь имеет половину обновленной / правильной информации (другая половина устарела), а другой - половину информации (другая половина устарела).

Пользователь1: 25% + 25% = необходима текущая информация 50%, остальные 50% устарели Пользователь1 работает на 2 из 4 предметов.

Пользователь2: 25% + 25% = требуется 50% текущей информации, остальные 50% устарели Пользователь2 работает с 2 из 4 предметов.

Мне нужно взять эти 50% (2 из 4 элементов), скажем ... User1, и добавить их в User2, чтобы сделать их 100% актуальными (4 из 4 элементов).

Их структура таблиц в стиле SQL (должна быть в любом случае) идентична (но, если возможно, я хотел бы предоставить событие, для которого для некоторой новой таблицы была добавлена, я бы знал)

Если бы я мог узнать, как получить все имена таблиц из DataTable, я мог бы систематически разбивать массивы через DataTable и заменять таблицы таблицами из другого файла .MDB, который, как я знаю, необходимо обновить. Я знаю, что в DataSet есть «DataSet.Tables» ... но это мне не очень помогает.

Если я могу это сделать, я также могу добавить таблицы в поле со списком и создать функциональность, где бы ни говорилось в поле со списком, это будет таблица, которую я перечислю в моей таблице данных.

Если у кого-нибудь из вас есть какие-либо идеи о том, как это сделать (или если вы даже понимаете, о чем я говорю), пожалуйста, дайте мне знать. Я на 70% закончил этот проект, и, похоже, это мои последние логические препятствия. Я думаю, что объяснил это правильно.

  1. Как мне перечислить только имена таблиц в объекте DataTable.
  2. Каковы ваши идеи по извлечению определенных таблиц из файла .MDB и добавлению их в другой файл .MDB?
  3. Как мне поступить с вводом раскрывающегося списка ComboList, который включал бы имена всех таблиц ... когда я изменял имя таблицы, он отображал бы это содержимое в Datagrid.
  4. Есть ли способ составить список таблиц в Datagrid, и когда вы нажимаете на Table, он перечисляет содержимое этой таблицы (вроде древовидной структуры).

EDIT: Я думаю, он прав! Я думаю, что DataTables - это всего лишь одна таблица, тогда как DataSets - это наборы таблиц. Имея это в виду, как мне перечислить все таблицы в файле .MDB в DataSet? Это решило бы мою проблему отлично.

1 Ответ

2 голосов
/ 03 февраля 2009

Я думал, что объект DataTable - это всего лишь одна таблица, а DataSet - это то, что содержит один ко многим объектам DataTable.

Если вы ищете фактическое имя вашей таблицы данных, к ней можно получить доступ через свойство DataTable.TableName.

Редактировать: Если вы хотите добавить DataTables в объект DataSet, просто создайте новый DataSet и затем используйте метод .Add ().

Dim DS as new DataSet
Dim DT as new DataTable("TableName")

DS.Add(DT)

После этого вы сможете циклически проходить по вашему DataSet и получать имена таблиц, получая доступ к каждому свойству DataTable TableName:

For each table as DataTable in DS.Tables
    Console.Writeline(table.TableName)
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...