01.10.2009, 08:16 | #1 |
Участник
|
Импорт в АХ через ODBC
Здравствуйте, с недавних пор начал программировать в АХ и возникли проблемы ,а спросить не у кого (нет рядом программиста АХ). Суть вопроса: Нужно получить данные из внешней базы и записать в базу АХ создал кнопку на форме ProdTable, создал метод на кнопке который получает данные
X++: void method1() { ProdTable ProdTabl; ProdBOM ProdBom; LoginProperty LP = new LoginProperty(); OdbcConnection myConnection; Statement myStatement; ResultSet myResult,myResultLine; Str s; str 50 CRProdid,Item; real LostQty,DifQty; prodTableChangeQtySched PQS = new prodTableChangeQtySched(); ProdTabl = ProdTable; ProdBom = ProdBOM; LP.setDSN("TransferConnection"); info(ProdTabl.collectrefprodid); try { myConnection = new OdbcConnection(LP); myStatement = myConnection.createStatement(); myResult = myStatement.executeQuery( strfmt("Select excontrolqty,primor,collectrefprodid from ShiftReportPourHeader " + "Where DataAreaId = '%1' and collectrefprodid = '%2'", curext(),ProdTable.collectrefprodid)); while (myResult.next()) { s = int2str(myResult.getInt(2)); CRProdid=myResult.getString(3); info(s); myResultLine = myStatement.executeQuery(strfmt("Select CAST(LostQty AS numeric(15, 8)) AS exp1,CAST(DiffectQty AS numeric(15, 8)) AS exp1,ItemId from ShiftReportPourLine " + "Where primor = '%1'",s)); //***************************************** // LostQty ,DiffectQty - типа float while (myResultLine.next()) { Item=myResultLine.getString(3); LostQty=myResultLine.getReal(1); info(num2str(LostQty,6,3,1,1)); ttsbegin; select forupdate * from Prodbom where Prodbom.ProdId==CRProdid && Prodbom.ItemId==Item; info('Go'); Prodbom.ScrapConst =LostQty; ttscommit; ttsbegin; info('go2'); Prodbom.update(); ttscommit; } info('go2'); ProdTabl.QtySched=myResult.getReal(1); PQS.parmProdTable(ProdTable); myStatement.executeUpdate(strfmt("Update ShiftReportPourHeader Set posted = 1 Where primor = %1 (1 = 0)", s)); } } catch { throw("Check DSN settings (username/password)."); } } 1 (X) Невозможно выполнить требуемую операцию с базой данных. Операция закончилась неудачно. (!) [Microsoft][SQL Native Client]Invalid Descriptor Index 2 (X) Невозможно считать запись из (). База данных SQL обнаружила ошибку. (!) [Microsoft][SQL Native Client]Invalid Descriptor Index У меня есть предположение что это проблема именно с типом данных LostQty и DiffectQty. Пытался проверить по средством выставления info потому что debager не работает(хотя включен может из за того что метод на кнопке). Так же пытался перевести в тип numeric тоже самое. |
|
Теги |
odbc, импорт, импорт данных, отладчик |
|
|