Hi ,
I am getting kern exec 3 panic in d following code .Can anyone please help me resolving the code ?
IN DB AppUi.cpp
void CDBAppUi::AddStudentL(const TDesC& name,const TDesC& id,const TInt date,const TInt month,const TInt year,
const TDesC& gender,const TDesC& age,const TDesC& father,const TDesC& course,const TDesC& sem,const TDesC& branch,const TDesC& school,const TDesC& address,const TDesC& university,const TDesC& mobile)
{
_LIT(KErrorMsg,"Failed. Make sure the fields are not empty.");
TInt err(KErrNone);
err = StudentDb->insert_student(name,id,date,month,year,gender,age,father,course,sem,branch,school,address,university,mobile);
//HERE S WHERE I AM GETTING THE PANIC
if(err)
ShowNoteL(KErrorMsg);
// else
// ShowAllStudentsL();
}
In DBEngine.CPP :-
TBool CStudentDb::insert_student(const TDesC& name,const TDesC& id,const TInt date,const TInt month,const TInt year,
const TDesC& gender,const TDesC& age,const TDesC& father,const TDesC& course,const TDesC& sem,const TDesC& branch,const TDesC& school,const TDesC& address,const TDesC& university,const TDesC& mobile )
{
_LIT(KSelect, "SELECT ");
_LIT(KFrom, " FROM ");
_LIT(KOrderBy, " ORDER BY ");
_LIT(KDot, ", ");
TBuf<KCustomSqlMaxLength> sqlStr;
sqlStr.Append(KSelect);
sqlStr.Append(name);
sqlStr.Append(KDot);
sqlStr.Append(id);
sqlStr.Append(KDot);
sqlStr.Append(date);
sqlStr.Append(KDot);
sqlStr.Append(month);
sqlStr.Append(KDot);
sqlStr.Append(year);
sqlStr.Append(KDot);
sqlStr.Append(gender);
sqlStr.Append(KDot);
sqlStr.Append(age);
sqlStr.Append(KDot);
sqlStr.Append(father);
sqlStr.Append(KDot);
sqlStr.Append(course);
sqlStr.Append(KDot);
sqlStr.Append(sem);
sqlStr.Append(KDot);
sqlStr.Append(branch);
sqlStr.Append(KDot);
sqlStr.Append(school);
sqlStr.Append(KDot);
sqlStr.Append(address);
sqlStr.Append(KDot);
sqlStr.Append(university);
sqlStr.Append(KDot);
sqlStr.Append(mobile);
sqlStr.Append(KFrom);
sqlStr.Append(KStudentsTable);
sqlStr.Append(KOrderBy);
sqlStr.Append(name);
sqlStr.Append(KDot);
sqlStr.Append(KStudentsSchoolCol);
RDbView view;
TInt error;
error = view.Prepare(iStudentDb, TDbQuery(sqlStr, EDbCompareFolded));
if(error!=KErrNone)
{
return error;
}
error = view.EvaluateAll();
if(error!=KErrNone)
{
return error;
}
RDbColWriteStream writeStream;
TRAP(error,
view.InsertL();
view.SetColL(1,name);
view.SetColL(2,id );
view.SetColL(3,date);
view.SetColL(4,month);
view.SetColL(5,year);
writeStream.OpenL(view,6);
writeStream.WriteL(gender);
writeStream.OpenL(view, 7);
writeStream.WriteL(age);
writeStream.OpenL(view, 8);
writeStream.WriteL(father);
writeStream.OpenL(view, 9);
writeStream.WriteL(father);
writeStream.OpenL(view, 10);
writeStream.WriteL(course);
writeStream.OpenL(view, 11);
writeStream.WriteL(sem);
writeStream.OpenL(view, 12);
writeStream.WriteL(course);
writeStream.OpenL(view, 13);
writeStream.WriteL(school);
writeStream.OpenL(view, 14);
writeStream.WriteL(course);
);
if(error!=KErrNone)
{
return error;
}
writeStream.Close();
TRAP(error, view.PutL());
if(error!=KErrNone)
{
return error;
}
view.Close();
return KErrNone;
return ETrue;
}
Please help me to resolve this panic.
Thanking you,
Ganesh

Reply With Quote

