5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
||||||
1 | ||||||
Как работают запросы22.11.2016, 13:21. Показов 1032. Ответов 25
Метки нет Все метки)
(
Объясните пожалуйста как оно работает?
почему при добавлении не удаляет, а добавляет? где идет передача нужного события?
0
|
|
22.11.2016, 13:21 | |
Ответы с готовыми решениями:
25
Не корректно работают запросы Не работают SQL-запросы к LocalDB Не работают запросы к БД: Отсутствуют данные для строки или столбца Как работают приведенные запросы |
1607 / 1116 / 165
Регистрация: 23.07.2010
Сообщений: 6,471
|
|
22.11.2016, 15:00 | 2 |
SQL, Карл, SQL!
0
|
5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
|
22.11.2016, 16:37 [ТС] | 3 |
Это понятно, что учить надо. SQL немного знаю.
Мне не понятно почему при добавлении запись не удаляется??? Ведь если отладчик перебирает все строки в том числе у удаление, а удаление не происходит. Может кто объяснит что происходит?
0
|
1607 / 1116 / 165
Регистрация: 23.07.2010
Сообщений: 6,471
|
|
22.11.2016, 16:46 | 4 |
как только придет понимание, что годнее всего работать с прямыми запросами к БД - 50% вопросов отпадут
0
|
![]() 17216 / 12670 / 3321
Регистрация: 17.09.2011
Сообщений: 20,947
|
|
22.11.2016, 16:55 | 5 |
Вы удаляете из базы строку с ключем 10.
Такая строка имеется в базе на момент обновления?
0
|
5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
|
23.11.2016, 08:52 [ТС] | 6 |
Извините может я недопонимаю, но где вы нашли ключ 10?
Добавлено через 43 минуты В данном случае это не прямой запрос? Тогда я вообще ни чего не понимаю. PS. Я новичок в C# (перехожу с Delphi), там довольно просто было, кинул пару компонентов, подключил БД и меняй запрос на нужный. Здесь же я должен каждый раз подключатся к БД, изменять запрос и отключаться при этом каждый раз создавая/уничтожая переменные. Это какое-то загромождение и много кратное увеличение кода получается. PS2. Может, если не трудно, дадите какой нибудь пример для работы с БД(Access), чтоб разобраться в тонкостях. В учебниках все склеено т.е. на кнопки добавить и подключение, и создание переменных, и запрос, и отключение.
0
|
1607 / 1116 / 165
Регистрация: 23.07.2010
Сообщений: 6,471
|
|
23.11.2016, 08:53 | 7 |
0
|
5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
|
23.11.2016, 09:06 [ТС] | 8 |
Я не прошу студию этого делать.
Я прошу помочь разобраться как правильно структурировать и составлять запросы, чтоб не писать "говнокод" и в дальнейшем не переучиваться.
0
|
![]() 11486 / 7829 / 1193
Регистрация: 21.01.2016
Сообщений: 29,349
|
|
23.11.2016, 10:04 | 9 |
0
|
5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
|
23.11.2016, 10:41 [ТС] | 10 |
А я думал это размер
из справки msdn: Кликните здесь для просмотра всего текста
Add(String, OleDbType, Int32, String)
Добавляет OleDbParameter для OleDbParameterCollection получает имя параметра, тип данных, длина столбца и имя исходного столбца. Add
0
|
![]() 11486 / 7829 / 1193
Регистрация: 21.01.2016
Сообщений: 29,349
|
|
23.11.2016, 10:54 | 11 |
glyk5, да, ты прав.
0
|
![]() 17216 / 12670 / 3321
Регистрация: 17.09.2011
Сообщений: 20,947
|
||||||
23.11.2016, 12:00 | 12 | |||||
Да, действительно, это размер.
Тогда возникает естественный вопрос: чему равно значение key, по которому производится удаление? В запросе у вас написано:
0
|
1607 / 1116 / 165
Регистрация: 23.07.2010
Сообщений: 6,471
|
|
23.11.2016, 12:06 | 13 |
это неименованные параметры. Значения будут извлекаться из коллекции параметров по номеру в коллекции
ТС нигде не присваивает значения параметров (по крайней мере, в приведенном коде) да и в целом - на лице работа студии, а не кодера
0
|
5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
|
23.11.2016, 13:35 [ТС] | 14 |
Я и не претендую на авторство кода,код взят с этого же сайта.
Я хочу понять как это работает? и научиться работать из C# с БД, но походу мне не хотят помогать.
0
|
![]() 11486 / 7829 / 1193
Регистрация: 21.01.2016
Сообщений: 29,349
|
|
23.11.2016, 13:36 | 15 |
glyk5, что имеется в виду под "как это работает"? Что именно?
0
|
5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
|
23.11.2016, 14:01 [ТС] | 16 |
Непонятно как он определяет, что при добавлении нужно добавлять, а при удалении удалять, ведь явно я ни где не указываю что делать
0
|
![]() 11486 / 7829 / 1193
Регистрация: 21.01.2016
Сообщений: 29,349
|
||||||
23.11.2016, 14:05 | 17 | |||||
glyk5, конечно указываешь:
![]()
0
|
783 / 615 / 272
Регистрация: 04.08.2015
Сообщений: 1,707
|
|
23.11.2016, 14:11 | 18 |
Есть DataTable, в нем DataRow. У них есть RowState. DataAdapter проверяет это состояние и для новых записей применяет InsertCommand, для измененных UpdateCommand, удаленных - DeleteCommand. Все Command должны создаваться 1 раз, а не так, как у вас в коде.
1
|
1607 / 1116 / 165
Регистрация: 23.07.2010
Сообщений: 6,471
|
|
23.11.2016, 14:49 | 19 |
никому ничего не хочу навязывать - подходец такой мягко говоря, попахивает. Сразу нужно учиться делать правильно
0
|
5 / 5 / 0
Регистрация: 08.07.2010
Сообщений: 233
|
|
23.11.2016, 15:05 [ТС] | 20 |
Так об этом я вас и прошу, подсказать мне как правильно писать.
Я так понял, процедуру "Сохранить_Изменения()" нужно разбить на 3 процедуры, чтоб каждая выполняла свое действие правильно? Если да, то тогда в каждой процедуре будут повторяющиеся строки минимум 5 шт
0
|
23.11.2016, 15:05 | |
Помогаю со студенческими работами здесь
20
Не работают запросы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |