#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