2015-11-13 6 views
0

Я пишу программу C# прямо сейчас, которая использует данные, связанные с базой данных SQL. Мне нужно разрешить программе удалять выделенную строку как из программы, так и из базы данных. Прямо сейчас у меня есть рабочее событие при нажатии клавиши delete, которое запускает команду SQL, чтобы удалить запись, однако она удаляет все записи, а не выбранную строку (это связано с другой проблемой). В принципе, мне интересно, как я могу вернуть выделенную строку. Если я смогу вернуть этот номер, я могу продолжить свою программу.Получение номера строки выделенной строки datatable C#

Например, у меня есть данные в первых 5 строках данных, но id как для выделения (путем нажатия) и удаления третьей строки. Если я могу вернуть третью строку, я могу написать другой оператор SQL для обработки исходя из другого набора критериев.

Спасибо.

+2

Что ваша схема таблицы? Каков ваш запрос на удаление? Используйте уникальный идентификатор, который сообщает вам, какую строку удалить (например, autoincremenet, sequence или guid). Почему бы вам не использовать ORM, который будет делать запрос для вас? –

+0

Я думаю, что большинство людей привязывали бы DataTable к какой-либо сетке и позволяли методу delete обрабатывать эти вещи. Я бы дал предложения, но вы не сказали, если winforms или веб-формы или mvc или то, что вы используете. =) – Nikki9696

+0

Можете ли вы показать, что вы делаете это в ..? также почему вы не можете просто сделать что-то столь же простое, как это на событии «DataGrids's SelectedChanged» 'var selectedIndex = YourDataGrid.SelectedRows [0] .Index;' удивительно, что может сделать Google при выполнении простого поиска. http: // stackoverflow.com/questions/11260843/getting-data-from-selected-datagridview-row-and-which-event – MethodMan

ответ

1

Предположим, вы используете Bindingsource для загрузки данных в Datagridview:

if(myBindingSource.Current != null) 
{ 
    myBindingSource.RemoveCurrent(); 
    myBindingSource.EndEdit(); 
} 
Смежные вопросы