| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB .NET > Как удалить несколько записей в бд |
| Автор: company05 31.10.2010, 17:21 | ||
Доброе времени суток! Есть база данных, как мне удалить несколько записей в бд. Пробую так не получается
с одной записей получатся, а вот с несколькими выдает ошибку |
| Автор: diadiavova 31.10.2010, 18:56 | ||||
Если тебе нужно перечислить несколько условий, то и перечисляй их через оператор AND, ну типа
Итд Если правильно понял твой пример, то сделай примерно так.
Правда, что означает слово flag в конце я не понял и вообще гарантий, что это сработает не даю А вообще, учись пользоваться привязкой данных, осваивай инструменты студии для работы с БД, LINQ To SQL и прочие зачетные штуки |
| Автор: company05 31.10.2010, 19:58 | ||
| Твой код выдает ошибку "Select" не является членом "System.Windows.Forms.ListViewItem.ListViewSubItem " в строке
|
| Автор: diadiavova 31.10.2010, 20:02 |
| company05, а ты под какой фреймворк пишешь? Он и так не является, но это метод-расширитель. Если пишешь под 3.5 и выше, то он быть доступным, если импортировано пространство имен System.Linq(обычно оно импортировано в свойствах проекта и делать ничего не надо) |
| Автор: company05 31.10.2010, 20:06 |
| У меня есть база данных с полями город, район, улица,квартира,этаж и т.д. По отдельным полям у меня получается удалять запись строки. Но у меня в базе есть такие данные как город,район и улица совпадают по данным. Только квартира разные. Я когда хочу удалить одну из них программа удаляет все. Город Район Улица Квартира Москва Центр Ленина 51 Москва Центр Ленина 20 У меня запрос по городу. Если я сделаю по району она все равно удалить оба строки. Если по квартире сделать. то она при заполнение записи и нахождении одинаковых цифр то удалить все что связано с этими цифрами. Добавлено через 3 минуты и 22 секунды Я пишу под фреймворк 4 vbnet 2010 |
| Автор: diadiavova 31.10.2010, 20:10 | ||
Я ведь тебе написал как условие сформировать. Кодом смогу помочь, если по крайней мере ответишь на вопрос, который я задал в предыдущем посте. Если ты будешь игнорировать уточняющие вопросы - мы ни к чему не придем. Добавлено @ 20:16 Я сейчас посмотрел и видимо с коллекцией Subitems так действительно не получится. Попробуй так
По идее эффект должен быть таким как я ожидал выше. Извини, сейчас нет возможности проверять код, так что просто пиши какие ошибки возникают, будем думать |
| Автор: company05 31.10.2010, 20:45 | ||
| выдает ошибку : Несоответствие типов данных в выражении условия отбора. в строке
|
| Автор: diadiavova 31.10.2010, 20:50 | ||||
company05, я думаю, что это связано с тем, что я в запросе все значения заключил в кавычки. Убери кавычки там, где они не нужны. Цена, количество комнат, количество этажей, - это все скорей всего в базе имеет числовые типы, поэтому для них не нужны кавычки. То есть вместо
Пиши
Ну и с остальными так же. |
| Автор: company05 31.10.2010, 21:00 | ||
| Выдает ошибку : Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Gorod ='Кизляр' AND Rajon = 'Магал' AND street='проаораро' AND kol_komnat = '5' AND kol_itaj = '67' AND cena=7 878р. AND foto = 'Есть''. в строке
|
| Автор: diadiavova 31.10.2010, 21:08 |
| Ты все-таки не понял, что я тебе написал. Я написал про поле cena, ты так и сделал, хотя у тебя это поле имеет строковый тип, стало быть не надо было его трогать. Пойми, я не знаю какие типы данных у полей твоей таблицы, так же я не знаю, какие данные ты вводишь из листвью. Поэтому тебе надо в этом разобраться самому. В запросе в кавычки надо заключать только те данные, которые имеют строковый тип. Естественно, если у тебя 7 878р. передается без кавычек будет ошибка синтаксиса. А вот количество комнат и этажей скорей всего имеют числовой тип. Но я этого наверняка тоже не знаю. Таблица ведь твоя. |
| Автор: company05 31.10.2010, 21:15 |
| У меня все поля строковые , кроме комнат,этажей -они у меня числовой и цена у меня денежная |
| Автор: company05 31.10.2010, 21:28 |
| вот мой проект |
| Автор: diadiavova 31.10.2010, 21:43 |
Правильно! Вместо того, чтобы разобраться, проще скинуть проект, чтобы за тебя все сделали. А потом снова придешь на форум с тем же самым вопросом и все начнется сначала. Я могу помочь разобраться, но делать за тебя не буду. |
| Автор: company05 31.10.2010, 21:46 |
| Я не в таком плане закинул свой проект ,а для того чтоб вы проверили и объяснили в чем ошибка. Я уже не знаю что делать с этим запросом |
| Автор: diadiavova 31.10.2010, 22:03 | ||||
Я ведь объяснил что с ним делать. Проставь правильно типы. А еще лучше воспользуйся параметрами запроса. Выглядеть это будет примерно так.
Такой запрос потребует передачи параметров. Вот ты их и передашь.
После этого можно вызывать команду на исполнение. Но вообще рассмотри оба варианта, 1-ый все-таки короче немного. |
| Автор: company05 31.10.2010, 22:31 |
| Че та ошибку выдает Я попробовал убрать из запроса комнаты,этаж и цену сработало сразу надо как вы сказали в этих полях разобраться |
| Автор: diadiavova 31.10.2010, 22:36 |
Какую? Тут обрати внимание на то, в каком виде исходные данные идут. если у тебя цена указана в виде 7 878р, то естественно метод Decimal.Parse выдаст ошибку. Сначала приведи данные к такому виду, чтобы они нормально парсились. |
| Автор: company05 31.10.2010, 22:37 | ||
Вроде получилось сделал так
цену убрал из списка забыл денежное значение |
| Автор: diadiavova 31.10.2010, 22:38 |
| Ну по крайней мере идею ты понял. Добавлено через 2 минуты и 10 секунд Хотя зачем писать значения в виде строки, а потом переводить в числовые форматы, когда можно сразу число написать, этого уже я не понял. |
| Автор: company05 31.10.2010, 22:41 |
| Спасибо большое тебе!!! Помучался конечно ты со мной, спасибо тебе! |
| Автор: diadiavova 31.10.2010, 22:50 |
| А что касается цены, убери пробел и букву "р" и тогда можно будет это дело привести к денежному типу. |
| Автор: company05 31.10.2010, 22:52 |
| Ясно! Сделаю обязательно! |
| Автор: Baha_Ahmed 16.11.2010, 00:06 |
| ей Рамик братуха я же тебе дал ответ как это делается, зайди за бокалом пива я тебе все подробно объясню дара!!!! |