powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Опредить первичный ключ и внешний ключ
17 сообщений из 17, страница 1 из 1
Опредить первичный ключ и внешний ключ
    #38438365
Tanya_0306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если выбрать все поля таблицы, записать их DataTable,
как потом можно "перебираемое значение" - это первичный ключ и внешний ключ?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 CommandText = @"select * From Contracts";
 SqlDataAdapter dataAdapter_TCH = new SqlDataAdapter(CommandText, ConnetionString);
 DataSet ds_TCH = new DataSet();
 DataTable t_TCH = new DataTable();
 dataAdapter_TCH.Fill(t_TCH);
 for (int i = 0; i < t_TCH.Rows.Count; i++)
      {
           for (int j = 0;j  < t_TCH.Columns.Count; j++)
                        {      if (ячейка [i,j] = первичный ключ)
                                 { ... }
                                  if (ячейка [i,j] = внешний  ключ)
                                 {...}
                        }
       }



Подскажите
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438385
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По имени поля, как еще

Код: c#
1.
2.
3.
4.
foreach (DataRow rw_ in dataTable.Rows)
{
     string mainField_ = rw_["mainFieldName"].Value.ToString();
}
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438386
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только не говори "а если я не знаю структуру базы"
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438392
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438402
Tanya_0306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,

я знаю структуру базы. Просто этот алгоритм "универсальный", на несколько таблиц.
вместо таблице "Contracs" я буду подставлять переменную (имя переменной меняется в цикле)
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438408
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tanya_0306вместо таблице "Contracs" я буду подставлять переменную (имя переменной меняется в цикле)

В цикле вместе с именем таблицы подставляй имя первичного и внешнего ключей. Убережешь мозги
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438473
igr_ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tanya_0306Если выбрать все поля таблицы, записать их DataTable,
как потом можно "перебираемое значение" - это первичный ключ и внешний ключ?
Подскажите
http://msdn.microsoft.com/ru-ru/library/z24kefs8.aspx
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438523
Tanya_0306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igr_ok,

я так понимаю тут назначаются первичный ключ столбцу. А у меня он уже есть надо в условии сравнить , колонка [1] - первичный ключ ? колонка [2] - это внешний ключ?
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438527
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tanya_0306igr_ok,

я так понимаю тут назначаются первичный ключ столбцу. А у меня он уже есть надо в условии сравнить , колонка [1] - первичный ключ ? колонка [2] - это внешний ключ?

... DataTable не знает о ключах таблицы SQL, пока вы их ей не назначите ...
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38438867
igr_ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tanya_0306igr_ok,

я так понимаю тут назначаются первичный ключ столбцу. А у меня он уже есть надо в условии сравнить , колонка [1] - первичный ключ ? колонка [2] - это внешний ключ?Там же ясно написано
При определении одного столбца DataColumn как PrimaryKey для DataTable в таблице автоматически присваивается свойству AllowDBNull значение false, а свойству Unique — значение true. Вот вам алгоритм поиска первичного ключа(правда только для ключа по одному столбцу).
Или действуйте через sql
http://www.sql.ru/forum/703547/uznat-pole-primary-key-u-tablicy
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38439895
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tanya_0306Если выбрать все поля таблицы, записать их DataTable,
как потом можно "перебираемое значение" - это первичный ключ и внешний ключ?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 CommandText = @"select * From Contracts";
 SqlDataAdapter dataAdapter_TCH = new SqlDataAdapter(CommandText, ConnetionString);
 DataSet ds_TCH = new DataSet();
 DataTable t_TCH = new DataTable();
 dataAdapter_TCH.Fill(t_TCH);
 for (int i = 0; i < t_TCH.Rows.Count; i++)
      {
           for (int j = 0;j  < t_TCH.Columns.Count; j++)
                        {      if (ячейка [i,j] = первичный ключ)
                                 { ... }
                                  if (ячейка [i,j] = внешний  ключ)
                                 {...}
                        }
       }




Подскажите
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38439898
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tanya_0306Если выбрать все поля таблицы, записать их DataTable,
как потом можно "перебираемое значение" - это первичный ключ и внешний ключ?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 CommandText = @"select * From Contracts";
 SqlDataAdapter dataAdapter_TCH = new SqlDataAdapter(CommandText, ConnetionString);
 DataSet ds_TCH = new DataSet();
 DataTable t_TCH = new DataTable();
 dataAdapter_TCH.Fill(t_TCH);
 for (int i = 0; i < t_TCH.Rows.Count; i++)
      {
           for (int j = 0;j  < t_TCH.Columns.Count; j++)
                        {      if (ячейка [i,j] = первичный ключ)
                                 { ... }
                                  if (ячейка [i,j] = внешний  ключ)
                                 {...}
                        }
       }




Подскажите

DataRelation тебе в помощь
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38440475
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
pationDataRelation тебе в помощь
Ответ правильный, но ведет на минное поле, которое надо научится проходить
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38440601
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2pationDataRelation тебе в помощь
Ответ правильный, но ведет на минное поле, которое надо научится проходитьТренироваться надо на кошках... Дизайнер типизированнных датасетов...
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38442363
Tanya_0306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sphinx_mv,

Наверно глупо будет звучать, но все же спрошу - а такой вариант обратится к системным таблицам и прочитать имена колонок от туда - это вариант?

Просто ситуация такая - я в цикле перебираю таблицы,

CommandText = @"select * From " + A[i];

Каким путем пойти ? "DataRelation мне в помощь" или Вытащить имена столбцов из системной таблицы INFORMATION_SCHEMA.COLUMNS
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38442399
igr_ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tanya_0306sphinx_mv,

Наверно глупо будет звучать, но все же спрошу - а такой вариант обратится к системным таблицам и прочитать имена колонок от туда - это вариант?

Просто ситуация такая - я в цикле перебираю таблицы,

CommandText = @"select * From " + A[i];

Каким путем пойти ? "DataRelation мне в помощь" или Вытащить имена столбцов из системной таблицы INFORMATION_SCHEMA.COLUMNSСоздается впечатление, что вы, вместо того, чтобы написать сложный запрос на sql, пытаетесь переложить это на клиентскую часть. Может объясните, что вы пытаетесь сделать?
Запрос типа "select * From " плох тем, что вам совсем не обязательно понадобятся все строки и все столбцы таблицы, т.е. вы зря тратите системные ресурсы. Перебор в цикле работает значительно медленнее, чем sql запросы. При таком подходе программа будет "кушать" много памяти и долго работать
...
Рейтинг: 0 / 0
Опредить первичный ключ и внешний ключ
    #38442616
Tanya_0306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igr_ok,
пользователь отметит в DataGridView отметит галочкой какие таблицы он выбрал,
А у меня универсальный запрос с перебором всех столбцов.
Идея записать выбранные таблицы в xml файл.
НО!!! Не просто записать, а имена таблиц и столбцов моей базы данных записывая в файл переименовать в некотором соответствии (это соответствие задано в таблице).

И еще надо "пометить" столбцы (к примеру атрибут какой нибудь проставить) которые являются внешним ключом и первичным.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Опредить первичный ключ и внешний ключ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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