나는 csv 파일을 배열로 구문 분석하고 배열을 sqlite 데이터베이스에 삽입하는 응용 프로그램을 작성 중입니다. sqlite 데이터베이스에 비동기 연결 문제가 있는데, 3106 오류가 발생합니다. 문제는 이전 문이 끝나기 전에 다음 문을 실행하지만 처리 방법을 찾을 수 없다고 생각합니다. 이. 어떤 도움이라도 대단히 감사하겠습니다. 당신은 문제가 여전히 실행되는 것을 생각하면플렉스/에어 sqlite 비동기 문제
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();
}
}
이벤트를 기다리는 루프는 절대로 사용하지 마십시오. – sharvey
나는 다른 한편으로는 ... 혀를 뺨에 충분히 말하지 않았습니까? ;) 나는 그것을 편집 할 것이다 ... –