BCB 5, Access DB и EOleException
У меня проблема...
Нужно вставить в таблицу БД MS ACCESS новую запись.
Для этого я использую SQL запрос с помощью компонента TAdoQuery.
Код:
dmAuto->ADOQuery2->SQL->Clear();
AnsiString SQLStmt = "INSERT INTO hoppers";
SQLStmt += "(SerNum,CurDTime,H1Nominal,H2Nominal,H1Load,H2Load,";
SQLStmt += "H1CntAfterLoad,H2CntAfterLoad,H1CntSession,H2CntSession,H1ReqSession,H2ReqSession) ";
SQLStmt += "VALUES (\""+AnsiString(RepMess.SerNum) +"\",\"" + DBRepMess.CurDTime + "\",\"";
SQLStmt += AnsiString(RepMess.HopInfo.nominal1) + "\",\"" + AnsiString(RepMess.HopInfo.nominal2) + "\",\"";
SQLStmt += AnsiString(RepMess.HopInfo.load1) + "\",\"" + AnsiString(RepMess.HopInfo.load2) + "\",\"";
SQLStmt += AnsiString(RepMess.HopInfo.cntcash1) + "\",\"" + AnsiString(RepMess.HopInfo.cntcash2) +"\",\"";
SQLStmt += AnsiString(RepMess.HopInfo.smoutcash1) + "\",\"" + AnsiString(RepMess.HopInfo.smoutcash2) + "\",\"";
SQLStmt += AnsiString(RepMess.HopInfo.smcalccash1) + "\",\"" + AnsiString(RepMess.HopInfo.smcalccash2) + "\");";
sl->Add(SQLStmt);
sl->SaveToFile("SQL.txt");
dmAuto->ADOQuery2->SQL->Text = SQLStmt;
__try
{
try
{
dmAuto->ADOQuery2->ExecSQL();
}
catch(const EOleException &E)
{
ShowMessage(E.Message);
}
}
__finally
{
dmAuto->ADOQuery2->Close();
}
При достижении программой вызова ExecSQL() программа вылетает с ошибкой: EOleException with message 'Переполнение'...
Подскажите, пожалуйста, где я напортачил...
з.ы. Другие аналогичные запросы к БД работают нормально.
Цитата:
Originally posted by Sharpy
Здравствуйте.
У меня проблема...
Нужно вставить в таблицу БД MS ACCESS новую запись.
Для этого я использую SQL запрос с помощью компонента TAdoQuery.
Здравствуйте.
У меня проблема...
Нужно вставить в таблицу БД MS ACCESS новую запись.
Для этого я использую SQL запрос с помощью компонента TAdoQuery.
Сложно сказать - возьми попробуй выполнить запрос в Акцессе с такими же параметрами. Вариант на вскидку - не соответствие форматов времени и даты.
Кстати совет - используй параметры в запросе.