Ela vai funcionar da seguinte maneira:
Vamos criar uma função que vai receber o ID do registro que está sendo editado, vamos passar este ID para um comando SQL, vamos chamar ExecuteUpdate(SQL).
Escreva a função:
sqlf.h
//Função para deletar um registro... //Passo como parâmetro o ID do registro que será deletado... void DeleteInDB(wxString ID);
sqlf.cpp
void DeleteInDB(wxString ID) { //Abro o banco de dados wxSQLite3Database *db = OpenDB(GetExecPath() + wxT("/agenda.db3")); //SQL para deletar o registro... wxString SQL = wxT("DELETE FROM contatos WHERE ID=") + ID + wxT(";"); //ExecuteUpdate para deletar o registro... db->ExecuteUpdate(SQL); //Fecho db... CloseDB(db); }
Agora vamos chamar esta função no frame principal, na função OnClickDelete.
Nó vamos confirmar com o usuário se ele quer mesmo que delete o registro, depois deletamos o registro.
framep.cpp
//Aqui o evento quando eu clicar no botão deletar... void wxFramePrincipal::OnClickDeletar(wxCommandEvent& event) { //Vamos verificar também se o registro está em modo de edição... //Pois se não estiver, não teremos quem deletar lá no banco de dados... if(ID == -1) return; //Vamos perguntar primeiro se o usuário tem certeza que quer deletar o registro... int confirma = wxMessageBox(wxT("Tem certeza que quer deletar o registro?"), wxT("Confirmação"), wxYES_NO); //Se o usuário clicar em não, cancelo a função... if(confirma == wxNO) return; //Executo a função para deletar o registro... DeleteInDB(wxString::Format(wxT("%d"), ID)); //Após deletarmos um registro atualizamos o wxGrid lista contatos... SelectInDB(lista_contatos); //E limpamos os campos de edição... LimparCampos(); }
Pronto, o sistema está completo, agora vocês podem refazer o mesmo, adicionando novas funcionalidades, adicionando outros campos, tabelas, etc...
Espero que tenham aproveitado a sequencia de tutoriais sobre wxWidgets e sqlite3 usando a biblioteca wxSqlite3.
Até a próxima.
0 comentários:
Postar um comentário