![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
Как заменить ключевое поле на нормальные значения:
Есть две таблицы: Контрагенты и Банки. В таблице Контрагенты есть поле БИК(переименовал, было Код Банка) отображается код банка, а нужно БИК?????? Как это сделать? вот скриншот чтоб было понятно: http://pic.ipicture.ru/uploads/091215/FuHltYoRER.jpg |
|||
|
||||
KuMa1104 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Добавлено через 8 минут и 51 секунду Аррр написал потом сообразил, если же вам нужно лиш поменять имя у datagridViev то
-------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
||||
|
|||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
нет нет.... мне нужно не просто поменять название, мне нужно чтоб туда подставлялись значения БИК из таблицы Банки.
Таблицы выглядят так: Банки: Код Банка, Наименование, БИК Контрагенты: Код Контрагента, Наименование, Адрес, ..., Код банка(это свзяь с таблицей Банки. Код Банка) и вот нужно чтоб не код Банка отображался, а сам БИК Это сообщение отредактировал(а) sharok - 15.12.2009, 19:22 |
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Ааа.
Насколько я вас понял вы хотите сделать sql запрос чтобы выбрать данные из 2 таблиц. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
Я пробовал так.... В дизайнере выбрат TableAdapter соответствующий, там есть методы Fill и GetData
Я пробовал создать новый метод FillBy и в нем запрос написал, и в построителе запросов он нормально выводится. Но когда пишу его в Load событии, то ошибка выводится при запуске.... Это КАК я пробовал, думаю есть другие варианты |
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
-------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
получается так Добавлено через 46 секунд
запрос я могу сделать, я не знаю куда его вставить чтоб в гриде он отобразился правильно |
||||||
|
|||||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Покажите как вы это делаете
-------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
вот ссылка на скриншот:
http://s59.radikal.ru/i164/0912/36/ef51bed3fe78.jpg в этом окне ввожу Добавлено через 1 минуту и 52 секунды если я главный Fill переписываю то прога потом ваще не работает, а если новый создаю, то в построителе работает, а при сохранении он выдет еще такое сообщение: что схема не совпадает с главным запросом |
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Сеичас посмотрю.
Я просто это ручками обычно делал. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: нет Всего: 9 |
Или писать sql запрос на объединение, или если есть возможность создать подстановочное поле
Добавлено через 46 секунд Ничего себе ответов, пока писал я свой -------------------- Фсё будет хорошо!!! |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
проблема как раз в том что не могу найти где вставит запрос.... я все через дизайнер создавал про постановочное поле можно поподробнее? |
|||
|
||||
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: нет Всего: 9 |
sharok
Это поле, которое вместо кода по которому идет связь с другой таблицей, выводит результат. ТО есть в твоем случае в БИК будет выводится не код БИКА, а название которое соответствует этому коду. НО я с подстановочным полем в C# не работал и вообще не знаю, есть ли здесь такое понятие Это сообщение отредактировал(а) chip_and_dayl - 15.12.2009, 19:56 -------------------- Фсё будет хорошо!!! |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
наверно combobox использовать, и его привязать к той таблице |
|||
|
||||
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: нет Всего: 9 |
-------------------- Фсё будет хорошо!!! |
|||
|
||||
sharok |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
если я главный Fill переписываю то прога потом ваще не работает,пропадает КонтрактыTableAdapter, а если новый создаю, то в построителе работает(БИК выводит), потом там надо имя метода ввести я назвал FillBy, потом в обработчик события Load вставляю его, и при запуске появляется ошибка.Еще при сохранении он выдает такое сообщение: что схема не совпадает с главным запросом(имеется виду Fill) Добавлено через 57 секунд
если я главный Fill переписываю то прога потом ваще не работает,пропадает КонтрактыTableAdapter, а если новый создаю, то в построителе работает(БИК выводит), потом там надо имя метода ввести я назвал FillBy, потом в обработчик события Load вставляю его, и при запуске появляется ошибка.Еще при сохранении он выдает такое сообщение: что схема не совпадает с главным запросом(имеется виду Fill) |
||||
|
|||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Ничего страшного я его не проверял, а просто автору в пример привёл.
А что за ошибка собствеено выскакивает что пишет. Я там посмотрел что да как вроде всё работает. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
При сохранении запроса: Схема данных, возвращаемая новым текстом команды, отличается от схемы основного запроса. Если она не подходит, проверьте текст команды в запросе. а при вызове : Не удалось включить ограничения. По меньшей мере одна строка содержит значение, нарушающее ограничения по отсутствию пустых значений, уникальности или внешним ключам. |
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
У меня это тоже в начале выдовало
-------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
и как Вы исправили? |
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Собственно скорее всего из за того что вы делаете запрос к 2 таб. у тебя получаеться так что при выводе в грид у тебя для колонки с уникальным ключом получаються совпадающие значения, отсюда ошибка.
Это сообщение отредактировал(а) KuMa1104 - 15.12.2009, 20:43 -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
Нашел еще один способ., в datagridview можно выбрать тип столбца(кнопка, textbox), вот, есть combobox, и когда его выбираешь появляются дополнительные свойства: Data Source, Display Member и DisplayValue. Я выбрал Банки в качестве соурса, meber указал поле БИК, когда запускаешь вылазиет 10 штук исключений(у меня 10 записей в БД), потом используя bindingnavigator пройденая запись вроде обновляется, и появляется заветный БИК, но исключение все равно выскакивает((
Добавлено через 1 минуту и 33 секунды
но я веть не могу удалить где либо ключ, тогда при обновлении(изменении) ничего не сохраниться |
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Даваите всётаки определимся с одним способом.
Я сеичас выяснять почему 10 исключении вылазиет не могу, другим занят. Создаите представление или др. таблицу в редакторе в которои и делаете то что делали. Или же что несколько проше но не уверен что лучше. Проверьте все колонки которые у вас имеются в таблице и уберите все вашиограничения по отсутствию пустых значений, уникальности или внешним ключам. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
пустых нету, уникальность тоже нормально
|
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
-------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
я имел ввиду в одной таблице ключевой столбец имеет уникальные значения
|
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
ИМХО.Поэтому у вас и исключение!!!!!!
Указано что значение должно быть уникальным но в ходе выполнения вашего sql запроса получаеться что несколько строк имеют одинаковые значения в виду того что однои записи в родительскои таблице может соответствовать несколько записей в дочерней. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
но я же не смогу убрать ключ например в таблице Банки?
|
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Почему? Удалите если оно вам не нужно, а лучше создаите таблицу на основе ваших 2 таблиц, это не сложно делается прямо в редакторе.
Добавлено через 3 минуты и 49 секунд Откроите ваш редактор. Кликаете в свободном месте правои клавишеи У меня команда называется добавить->TableAdapter... -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
в этой таблице допустим....но у меня другие есть например Контракты там 4 поля связываются с таблицей Контрагенты: Код Грузоотправителя, код грузопринимателя, Код Поставщика, Код Покупателя..... там такая же ситуация будет
|
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
несовсем понял. Вы имеете ввиду что и там удалить ключи или что? -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
там я ключи удалить не смогу...поэтому опять будет ошибка
|
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Знаете у меня никогда не возникало такои проблемы.
Я всегда сам осушествлял привязку управление и настроику переходов. А чем вам не подходит решение создать как я говорил представление, мне прямо интересно стало я зашол создал. Идея в том что создаёте в дизаинере таблицу на основе уже существующих(хотя в принципе по сути вы до этого это и делали)т.е. у вас там автоматически отображаються ваши таблицы.А вы добавть ешё одну и пихаите туда то что вам нужно. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
сделал новую таблицу в дизайнере, а если я изменю запись, например БИК поменяю, то они же не сохрантяся?
|
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Почему? обратите внимание что поскольку вы указываете для неё колонки из уже существующих таблиц, то и sql запрос осуществляеться к соответствующим табл.=> Изменения будут тоже происходить в них а вами созданная таблица это своего рода предстовление для удобства.
Но!!! Если соберётесь так делать проверте это сначала я точно не уверен. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
sharok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 27.6.2009 Репутация: нет Всего: нет |
сделал все....но теперь в bindingnavigator не горит кнопка сохранения почему то
|
|||
|
||||
KuMa1104 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: 1 Всего: 3 |
Да, про это я неподумал.
В этом случае требуеться поддержание целостности БД. Естественно он не сможет сохранить в такое представление запись.Так как это требовало бы добавить записи в соответ. табл. и может получиться что в табл. не заполнены поля даже первичный ключ. а такого быть не может. ИМХО.Понимаете вы можете создать для своего удобства сколько угодно представлении на основе ваших таблиц. Но!! если вы хотите чтобы на основе их делать изменения, дополнения.То вы сами должны реализовать всю эту логику. Возможно кто нибудь сможет предложитб другое решение вашеи проблемы, я незнаю как неуглубляясь в написание кода реализовать всё что вам требуеться. -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |