ADO : deleting

Started by
-1 comments, last by da_cobra 18 years, 10 months ago
Hello, I have an application with a listview on it, filled with the names of the persons of my records + their IDs. If I click on a person and press on the delete button, I pass on the ID to that function and delete the record with that ID. Now I can do it 2 ways : with the normal Delete() function or with an SQL statement. But in both cases I have some problems... Delete() : If I want to use this function I try to do it this way :

CString strFilter  = "IDPersoon = " + strID ;
		
varFilter = strFilter ;

m_pRSPersonen->PutFilter(varFilter) ;

try
{
	m_pRSPersonen->Delete(adAffectCurrent) ;
	m_pRSPersonen->MoveFirst() ;
}
catch(_com_error &e)
{
	AfxMessageBox(e.Description()) ;
	return S_FALSE ;
}

problem : After the delete I only had I record, because of the filter, so I get an EOF error with SQL-statement :

CString strSQL, strID ;
strID.Format("%d", lnID) ;

strSQL = "Delete FROM Personen where IDPersoon = " + strID ;

try
{
	m_pConn->Execute((_bstr_t)strSQL, NULL, adExecuteNoRecords) ;
}
catch(_com_error &e)
{
	AfxMessageBox(e.Description()) ;
}

Problem : My listview is now filled with 2 of the same records, it seems that the last record is now copied onto the deleted record, BUT it doesn't exist anymore. If I restart my application, the deleted record isn't there anymore (as it should offcourse) and the "copied" record is also dissapeared. So my guess is I should do a requery or so?!? In both cases, de records are deleted, but it's afterwards that I get those 2 problems. If I get 1 problem solved I can use that solution then. So I hope some1 sees what I'm doing wrong... TIA

This topic is closed to new replies.

Advertisement