удаление записи с помощью OLED-адаптера

#c# #oledbdataadapter

#c# #oledbdataadapter

Вопрос:

я новичок в C #. пытаюсь создать веб-сайт

у меня проблема с предоставлением опции удаления. ошибка не отображается. Но повторный запрос не удаляется

пожалуйста, помогите

защищенная пустота delete_button_Click(отправитель объекта, EventArgs e) {

         string uname;
        string pwd;

        uname = txt_user.Text;
        pwd = txt_pass.Text;



        string connetionString = null;
        OleDbConnection connection;
        OleDbDataAdapter oledbAdapter = new OleDbDataAdapter();
        string sql = null;
        connetionString = "Provider=SQLOLEDB;dsn=xe;User id=sa;password=password123";
        connection = new OleDbConnection(connetionString);

        sql = "DELETE * FROM Login WHERE username='"   uname   "' and password='"  pwd  "'";
        try
        {
            connection.Open();
            oledbAdapter.DeleteCommand = connection.CreateCommand();
            oledbAdapter.DeleteCommand.CommandText = sql;

            oledbAdapter.DeleteCommand.ExecuteNonQuery();
            Label4.Text = "deleted";
        }
  

Спасибо

Комментарии:

1. вам вообще не нужен адаптер, просто используйте объекты connection и command. Также будьте осторожны, чтобы у вас не было проблем с подключением SQLInjection с этим дизайном.

2. я использовал это соединение и командные объекты с OleDbDataReader. но при удалении можно ли это использовать?

Ответ №1:

SQL должен быть

 "DELETE FROM Login WHERE username='"   uname   "' and password='"  pwd  "'"
  

Удалить * из SQL.

Комментарии:

1. могу ли я проверить условие «если запись отсутствует, то печать недопустима»

2. OleDbReader работает только для пересылки и не предоставляет ничего похожего на count, чтобы определить, выбрана ли какая-либо запись или нет. Но вы можете использовать метод reader.Read() для проверки.

3. ya..in в качестве опции поиска я использовал reader.Read() в цикле while