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