powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / только Select
17 сообщений из 17, страница 1 из 1
только Select
    #39268515
FreeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как добиться ограничения update,insert,delete при загрузке данных с sql-сервера

к примеру при загрузке в datagridview через sqldatadapter при sqladapter.fill(datatable) в случае sqlcommand "update" - заполнение datatable не происходит,

НО выполняется update

или аналогично sqldatareader - sqldatareader=sqlcommand.executereader
...
Рейтинг: 0 / 0
только Select
    #39268538
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно больше ясности, вопрос поставлен некорректно
...
Рейтинг: 0 / 0
только Select
    #39268542
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Roman Mejtesнужно больше ясности, вопрос поставлен некорректно
+1

FreeFire, что вы хотите?
Что у Вас есть сейчас, почему это Вас не устраивает и что Вы хотите получить?
...
Рейтинг: 0 / 0
только Select
    #39268569
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeFire,
datagridview и sqldatadapter и datatable - в топку
...
Рейтинг: 0 / 0
только Select
    #39268598
FreeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2Roman Mejtesнужно больше ясности, вопрос поставлен некорректно
+1

FreeFire, что вы хотите?
Что у Вас есть сейчас, почему это Вас не устраивает и что Вы хотите получить?

с sql-сервера получаю выборку и заполняю datagridview
sqlcommand.text вводит пользователь

разграничивать на самом сервере запреты/разрешения нельзя

поэтому sqlcommand должна быть только selectcommand

при наполнинии datagridview через sqldataadapter.fill или sqldatareader=sqlcommand.executereader
при тексте запроса "update dt set columnName=value where ..."
происходит изменение таблицы на сервере - выборки нет и exception нет

я хочу предварительно поставить условие-ограничение на только select чтобы пользователь не смог обновить, изменить, удалить строки на сервере

З.Ы. или тупо добавлять в начало запроса select или проверять его наличие
...
Рейтинг: 0 / 0
только Select
    #39268601
FreeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕвгенийВFreeFire,
datagridview и sqldatadapter и datatable - в топку

а дальше что?) чем заменить
...
Рейтинг: 0 / 0
только Select
    #39268837
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
FreeFiresqlcommand.text вводит пользователь
Так проверяйте перед выполнением что бы он не начинался со слов: update, insert, delete
...
Рейтинг: 0 / 0
только Select
    #39268894
FreeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2FreeFiresqlcommand.text вводит пользователь
Так проверяйте перед выполнением что бы он не начинался со слов: update, insert, delete

ну это было сразу понятно - что можно либо проверять начало либо добавлять в начало select

просто думал без проверки обойтись - всегда думал что fill и executereader не может изменить данные в бд....ошибался
...
Рейтинг: 0 / 0
только Select
    #39268965
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2FreeFiresqlcommand.text вводит пользователь
Так проверяйте перед выполнением что бы он не начинался со слов: update, insert, delete

А так?
text = @"if(DATEPART(DAY,getdate())=6) select * from table else delete from table;"
...
Рейтинг: 0 / 0
только Select
    #39268982
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeFire, вот один из многих вариантов... Идея сама по себе - хреновая... "Связать" пользователя можно дав ему менее инструмент вроде конструктора запросов... Ах да... и права отнять на скль сервере... в обязательном порядке...
...
Рейтинг: 0 / 0
только Select
    #39268992
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserFreeFire, вот один из многих вариантов... Идея сама по себе - хреновая... "Связать" пользователя можно дав ему менее инструмент вроде конструктора запросов... Ах да... и права отнять на скль сервере... в обязательном порядке...

Можно к примеру все юзерские запросы выполнять через процедуру, а в ней уже пытаться ловить и ограничивать
...
Рейтинг: 0 / 0
только Select
    #39269281
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
В принципе можно открыть транзакцию на клиенте и если Fill не вернет ни одной записи, то откатить ее.
...
Рейтинг: 0 / 0
только Select
    #39269289
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если сервер MSSQL - можно для выборки application role задействовать
...
Рейтинг: 0 / 0
только Select
    #39269300
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Cat2В принципе можно открыть транзакцию на клиенте и если Fill не вернет ни одной записи, то откатить ее.
Хотя нет. Не поможет от

Код: sql
1.
delete from t; select 0 as f
...
Рейтинг: 0 / 0
только Select
    #39269312
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВFreeFire,
datagridview и sqldatadapter и datatable - в топку

она в стандартной поставке. чем не угодила?
...
Рейтинг: 0 / 0
только Select
    #39269412
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил КантЕвгенийВFreeFire,
datagridview и sqldatadapter и datatable - в топку

она в стандартной поставке. чем не угодила?Ну некоторые считают себя умнее и любят городить собственные велосипеды.
...
Рейтинг: 0 / 0
только Select
    #39286275
FreeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вроде докопался
вначале select неочем - можно дальше написать update и все отработает

решил через if exists(query) print 'y'
при использовании внутри не select приводит к исключению при fill(datatable)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / только Select
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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