 			self.connection.close(db)
 			return db.lastInsertRowID()
 		} catch {
+			print(error)
 			throw StORMError.error(errorMsg)
 		}
 	}

			}, handleRow: {(statement: SQLiteStmt, i:Int) -> () in
				results.append(statement)
			})
			self.connection.close(db)

		} catch {
			throw StORMError.error(errorMsg)
		}

	@discardableResult
	func execRows(_ smt: String, params: [String]) throws -> [StORMRow] {
		var rows = [StORMRow]()
//		let results = try exec(smt, params: params)
//		print(results[0].columnCount())
//		rows = parseRows(results)

		do {
			let db = try self.connection.open()

			try db.forEachRow(statement: smt, doBindings: {

				(statement: SQLiteStmt) -> () in
				for i in 0..<params.count {
					try statement.bind(position: i+1, params[i])
				}

			}, handleRow: {(statement: SQLiteStmt, i:Int) -> () in
				rows.append(parseRow(statement))
//				print(statement.columnCount())
//				results.append(statement)
			})
			defer {
				self.connection.close(db)
			}
		} catch {
			throw StORMError.error(errorMsg)
		}

		return rows
	}

