cancel
Showing results for 
Search instead for 
Did you mean: 

XSJS: Insert Into does not create a record in table

Former Member
0 Kudos

Hey guys its me again,

i created a xsjs function which should insert a singel record to a given table, my cuurent code looks like below.


function insertRecordsIntoTable(schemas,tables,fields,values){
    // Set action
    var statement = "INSERT INTO ";

     // specify target table

    var target = "\""+schemas[0]+"\".\""+tables[0]+"\" ";
    statement = statement.concat(target);

    var index;

    // Build column part
    var columns = "(";
    for(index=0;index<fields.length-1;index++){
        columns = columns.concat(fields[index]+",");

    }

     // Build value part
    var vals = " VALUES (";
    for(index=0;index<values.length-1;index++){
        vals = vals.concat("?,");
    }

    // Concat tails to builded Strings
    vals = vals.concat("?)");
    columns = columns.concat(fields[fields.length-1]+")");

  // Concat to final statement

    statement = statement.concat(columns);
    statement = statement.concat(vals);

    try{
        $.trace.debug(statement);
        var conn = $.db.getConnection();
        var pstmt =conn.prepareStatement(statement);

       // Replace placeholder with final values concerning sql injection

        for(index=0;index<values.length;index++){
            pstmt.setString(index+1,values[index]);
        }

        pstmt.execute();
        return true;


    }catch(e){
        return e;
    }
}

When i run it, everything seems fine but if i take a look at the target table no data record is created and i have no clue why this happens.

Does anyone have a suggestions or had the same problem?

Edit: I tried following statements:

INSERT INTO SCHEMA.TABLE (COL1,COL2,COL3) VALUES (?,?,?)

INSERT INTO SCHEMA.TABLE (COL1,COL2,COL3) VALUES ('?','?','?')

and of course raw values.

Thank you for your answers in advance 🙂

Best Regards,

Lukas

Message was edited by: Lukas Kaeser

Accepted Solutions (1)

Accepted Solutions (1)

pfefferf
Active Contributor
0 Kudos

Hello Lukas,

do a commit.


conn.commit();

Best Regards,

Florian

Former Member
0 Kudos

Thank you Florian, you are right again

Regards,

Lukas

Answers (0)