/** * do database insert */ function doInsert() { /* refill menu from post data */ /* $this->menu->setMenuValues($_POST); */ /* now test the menu values */ if ($this->prepareForInsert()) { /* then get the data into the query */ $iq = new InsertQuery($this->dbConn, $this->relation); $iq->setKeyColumns($this->keyColumns); $cnames = $this->menu->getColumnNames(); // echo '<br> columnNames'.bvar_dump($cnames).'<br>'; $arr = $this->menu->getColumnValues($cnames); if ($this->isTransactional) { $arr['trans_id'] = $this->dbConn->createTransactionId(); } $iq->setSubmitvalueSet($arr); $iq->setUpdateSet($arr); // echo '<span style="color:red">'.bvar_dump($this->menu).'</span>'; if ($iq->areKeyColumnsSet()) { /* allow insert */ $query = $iq->getQuery(); $this->dbMessage .= 'insert query' . $query; //echo $query; $result = doUpdate($this->dbConn, $query, $this->dbMessage); if ($result < 0) { $this->dbMessage .= 'STE: Insert Failed with query ' . $query . ' db says: ' . $this->dbMessage; $this->dbConn->Execute("ROLLBACK"); } else { $this->dbMessage .= ' added ' . $result . ' record(s) '; $this->dbConn->transactionEnd(); } } else { $this->dbMessage .= 'DB ERROR: Insert failed.<br>Not all keyColumns have been set'; $this->dbConn->Execute("ROLLBACK"); } } }