Я пишу приложение, которое анализирует CSV-файл в массив, а затем вставляет массив в базу данных sqlite. У меня проблемы с асинхронным подключением к базе данных sqlite, я получаю ошибку 3106 ...... Я думаю, проблема в том, что он выполняет следующий оператор до того, как предыдущий будет завершен, но я не могу найти способ справиться этот. Любая помощь будет принята с благодарностью.
public function addData(categories:Array):void{
status = "Adding data to table";
var insrtStmt:SQLStatement = new SQLStatement();
insrtStmt.sqlConnection = conn;
for(var i:int=categories.length-1; i>=0; i--){
insrtStmt.text = "";
insrtStmt.text += "INSERT INTO masterlist ";
insrtStmt.text += "(mainid, transactionDate, tradeId, ccyPair, account, buySell, customer, date,";
insrtStmt.text += " additionalid, dealType, traderName, genericType, owner) ";
insrtStmt.text += "VALUES(@mainid, @transactionDate, @tradeId, @ccyPair, @account, @buySell, @customer, @date,";
insrtStmt.text += " @additionalid, @dealType, @traderName, @genericType, @owner);";
insrtStmt.parameters["@mainid"] = categories[i].mainid;
insrtStmt.parameters["@transactionDate"] = categories[i].transactionDate;
insrtStmt.parameters["@tradeId"] = categories[i].tradeId;
insrtStmt.parameters["@ccyPair"] = categories[i].ccyPair;
insrtStmt.parameters["@account"] = categories[i].account;
insrtStmt.parameters["@buySell"] = categories[i].buySell;
insrtStmt.parameters["@customer"] = categories[i].customer;
insrtStmt.parameters["@date"] = categories[i].date;
insrtStmt.parameters["@additionalid"] = categories[i].additionalid;
insrtStmt.parameters["@dealType"] = categories[i].dealType;
insrtStmt.parameters["@traderName"] = categories[i].traderName;
insrtStmt.parameters["@genericType"] = categories[i].genericType;
insrtStmt.parameters["@owner"] = categories[i].owner;
insrtStmt.execute();
}
}