|
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
|
||||||
Не выполняется проверка на пустое значение в таблице БД13.04.2012, 23:36. Показов 2025. Ответов 10
Метки нет (Все метки)
Всем хаи,
вообщем суть проблемы такова. Есть 2 таблицы: ЧЕЛОВЕК - СМЕРТь Мне нужно сделать так. чтобы одного человека я мог добавить в таблицу СМЕРТь только один раз. В случае повторного добавление, выкидывать сообщение или что-то в таком роде. Делаю проверку, но IF не срабатывает никогда.
0
|
||||||
| 13.04.2012, 23:36 | |
|
Ответы с готовыми решениями:
10
Проверка на пустое значение
VB Проверка на пустое значение |
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 13.04.2012, 23:55 | |
|
Я так понимаю, что надо в таблице со зловещим названием "Смерть" проверить есть ли запись о человеке. Думаю что запись в таблице "Cмерть" тогда должна состоять минимум из 2-х полей ID и ManID. Получается, что если искать запись по полю ID вы точно ничего не найдете.
Поэтому, чтобы достичь взаимопонимания предлагаю показать стр. данных. По коду... 1. не закрыт for; 2. что-то как, то у вас все сложно, почему бы не добавить метод в адаптер который бы возвращал количество.. хм... смертей человека и уже тогда выдавал сообщение об ошибке.
0
|
|
|
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
|
|
| 14.04.2012, 00:13 [ТС] | |
|
Стр данных проста, в таблице человек - code, name, lastname, gender, age
смерть - id, code, time_of_death, reason_of_death for закрыт, у меня ж компилится )) не перетащил просто можно сделать отдельный метод, но это не суть пока, тут в самой логике косяк где-то. ищу не по ид, а по полю КОД, где хранится код человека. При переносе неправильно поправил просто. Вот. Ну я думаю так, что если ничего не наидено в таблице смерть с таким кодом,(а раз ничего не наидено, то и кода там не может быть такого), то тогда добавляем, иначе - еррор. Вроде же правильная мысль
0
|
|
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 14.04.2012, 00:18 | |
|
мысль правильная и должно работать, если в where заменить ID на Code. В C# код может быть много проще и можно избежать цикла.
0
|
|
|
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
|
|
| 14.04.2012, 00:23 [ТС] | |
|
мм ну должно, но не работает, MessageBox в ID вообще не появляется, если кликаешь по тому человеку, где на самом деле есть уже смерть, то срабатывает ELSE, как и должно, а в других случаях - ничего, как-будто нет никакого деиствия на кнопку.
Мне бы сделать. что б с циклом работало, а потом уже улучшать, так как не знаю как без цикла.
0
|
|
|
49 / 49 / 7
Регистрация: 03.12.2010
Сообщений: 229
|
|
| 14.04.2012, 00:25 | |
|
1
|
|
|
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
|
|
| 14.04.2012, 00:34 [ТС] | |
|
может подскажете тофда как проверить на пустое значение?
0
|
|
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 14.04.2012, 10:34 | |
|
а не надо проверять))
DataTable checkTable = connectionclass.querymethod("SELECT * FROM table2 WHERE Code = '" + code + "'"); DataRowCollection datarows = checkTable.Rows; if(checkTable.Count > 0) { MessageBox.Show("SOME ERROR"); } else { //Делаем запись о смерти MessageBox.Show("OOOOOK"); }
1
|
|
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
| 14.04.2012, 12:53 | |
|
а почему бы не использовать простой запрос ExecuteNonQuery() как я писал в предыдущей теме, вместо того чтоб юзать тяжеловесный адаптер?
1
|
|
|
29 / 27 / 5
Регистрация: 07.07.2011
Сообщений: 782
|
|
| 14.04.2012, 20:00 [ТС] | |
|
Спасиб, так всё работает
Learx, я просто ни разу не пробовал с ExecuteNonQuery(). Если лучше его юзать, то просвяти как, если не трудно.
0
|
|
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
||||||
| 14.04.2012, 23:48 | ||||||
|
в ADO NET есть объект OleDbCommand. ему в параметр CommandText забиваешь sql-запрос.
потом этот запрос можно выполнить несколькими методами: 1. ExecuteNonQuery() - просто выполняет запрос, возвращает кол-во обработанных строк 2. ExecuteScalar() - выполняет запрос и возвращает объект-значение первого столбца первой строки. удобно если необходимо выполнить одну агрегатную фун-цию(сума, кол-во строк и т.д. 3. ExecuteReader() - выполняет запрос и возвращает курсор для чтения инфы типа OleDbReader. при помощи него можно извлекать результат постиочно. в твоем случае достаточно что-то вроде:
0
|
||||||
| 14.04.2012, 23:48 | |
|
Помогаю со студенческими работами здесь
11
Проверка на пустое значение строки не работает проверка на пустое значение Проверка ячеек StringGrid на пустое значение Проверка ячейки в dataGridView на пустое значение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|