execute static method
Execute a SQL statement
Implementation
static Future<OracleStatement> execute({
required DpiOracle dpiOracle,
required Pointer<dpiConn> connection,
required Pointer<dpiContext> context,
required String sql,
List<dynamic>? params,
Map<String, dynamic>? namedParams,
}) async {
final statement = await prepare(
dpiOracle: dpiOracle,
connection: connection,
context: context,
sql: sql,
);
try {
// Bind positional parameters if provided
if (params != null && params.isNotEmpty) {
await statement._bindParams(params);
}
// Bind named parameters if provided
if (namedParams != null && namedParams.isNotEmpty) {
await statement._bindParamsByName(namedParams);
}
// Execute statement
await statement.executeStatement();
return statement;
} catch (e) {
// Properly clean up the statement on error
await statement.close();
rethrow;
}
}