Skip to content

Using variable in ORACLDART #16

@hasan3ysf

Description

@hasan3ysf

Hi Alex,
I want to execute SQL statement using variables, how can I do it using oracldart.

The below SQL had been rum fine:

.then((_) => oracleConnection.select("""
INSERT INTO USERS_MAIN
(UserID,Alias,Password,FirstName,LastName,Email,Roles)
VALUES(
USERS_sequence.nextval,
'Admin',
'FonixAdmin',
'Hasan',
'Yousef',
'[email protected]',
'[admin, masterData, purchaser]'
)
"""))

I tried running it using VARIABLES, as below:

var users = <Map>[];

users.add({
     'Alias':'Admin',
     'Password':'FonixAdmin',
     'FirstName':'Hasan',
     'LastName':'Yousef',
     'Email':'[email protected]',
     'Roles':'[admin, masterData, purchaser]'
});

        .then((_) => oracleConnection.select("""
                        INSERT INTO USERS_MAIN 
                                          (UserID,Alias,Password,FirstName,LastName,Email,Roles)
                                    VALUES(
                                            USERS_sequence.nextval,                                     
                                            ${users['Alias']},
                                            ${users['Password']},
                                            ${users['FirstName']},
                                            ${users['LastName']},
                                            ${users['Email']},
                                            ${users['Roles']}
                                           )
                """))

then I got this error:

Unhandled exception:
Uncaught Error: type 'String' is not a subtype of type 'int' of 'index'.
Stack Trace:
#0 List.
#1 main.. (file:///G:/fonix-DBcreation/bin/users.dart:81:56)
#2 _RootZone.runUnary (dart:async/zone.dart:1082)
#3 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:488)
#4 _Future._propagateToListeners (dart:async/future_impl.dart:571)
#5 _Future._completeWithValue (dart:async/future_impl.dart:331)
#6 _Future._asyncComplete. (dart:async/future_impl.dart:393)
#7 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)
#8 _asyncRunCallback (dart:async/schedule_microtask.dart:48)
#9 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:126)
#0 _rootHandleUncaughtError. (dart:async/zone.dart:820)
#1 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)
#2 _asyncRunCallback (dart:async/schedule_microtask.dart:48)
#3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:126)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions