Нашел решение! Вод исхдоник ДО и ПОСЛЕ. В первом варианте вылетала ошибка, что не поддерживаеться dynaset, во втором все отлично:
void CPCircuitDlg::OnDatabaseAddcircuit()
{
// TODO: Add your command handler code here
CAddNewCircuit dlg;
if(dlg.DoModal() == IDOK)
{
sDsn.Empty();
sDsn.Format("ODBC;DRIVER={%s};DSN=%s;DBQ=%s",sDriver, sFile, sFile);
m_db1.Open(NULL,false,false,sDsn, true);
CMyRecordset rec(&m_db1);
try
{
rec.Open(CRecordset::dynaset, "SELECT * FROM Circuits"); //здась вылетало!!!!
if(rec.CanAppend())
{
rec.AddNew();
}
rec.m_CTID = 1;//dlg.m_CTID;
rec.m_Height = dlg.m_height;
rec.m_IsCurrentGood = dlg.m_iscurrent;
rec.m_IsDemaged = dlg.m_isdemaged;
rec.m_IsGood = dlg.m_isgoodp;
rec.m_IsPoweredGood = dlg.m_ispowered;
rec.m_IsTermedGood = dlg.m_istermed;
rec.m_Length = dlg.m_len;
rec.m_MatID = 1;//dlg.m_MatID;
rec.m_ProcID = 1;//dlg.m_ProcID;
rec.m_Resistance = dlg.m_resistance;
rec.m_Voltage = dlg.m_voltage;
rec.m_Width = dlg.m_width;
rec.Update();
rec.Close();
}
catch(CDBException cdb)
{
AfxMessageBox(cdb.m_strStateNativeOrigin);
}
m_db1.Close();
}
else
{
AfxMessageBox("Record wasnt added");
}
}
а решение было так близко...))
void CPCircuitDlg::OnDatabaseAddcircuit()
{
// TODO: Add your command handler code here
CAddNewCircuit dlg;
if(dlg.DoModal() == IDOK)
{
sDsn.Empty();
sDsn.Format("ODBC;DRIVER={%s};DSN=%s;DBQ=%s",sDriver, sFile, sFile);
m_db1.Open(NULL,false,false,sDsn, false); //поменять вот здесь параметр с true на false
CMyRecordset rec(&m_db1);
try
{
rec.Open(CRecordset::dynaset, "SELECT * FROM Circuits"); //...и все прекрасно работает))!!!!
if(rec.CanAppend())
{
rec.AddNew();
}
rec.m_CTID = 1;//dlg.m_CTID;
rec.m_Height = dlg.m_height;
rec.m_IsCurrentGood = dlg.m_iscurrent;
rec.m_IsDemaged = dlg.m_isdemaged;
rec.m_IsGood = dlg.m_isgoodp;
rec.m_IsPoweredGood = dlg.m_ispowered;
rec.m_IsTermedGood = dlg.m_istermed;
rec.m_Length = dlg.m_len;
rec.m_MatID = 1;//dlg.m_MatID;
rec.m_ProcID = 1;//dlg.m_ProcID;
rec.m_Resistance = dlg.m_resistance;
rec.m_Voltage = dlg.m_voltage;
rec.m_Width = dlg.m_width;
rec.Update();
rec.Close();
}
catch(CDBException cdb)
{
AfxMessageBox(cdb.m_strStateNativeOrigin);
}
m_db1.Close();
}
else
{
AfxMessageBox("Record wasnt added");
}
}