_ivanovich_
6 years agoFrequent Contributor
How to simplify groovy code for several sql request in different table ?
Hi,
how can we simplify a groovy code for several sql request which are not same.
i'm querying different table for different data so i have at least 50 sql queries and for each query i set propertis with data retrieved from table.
My problem is:
i have 50 sql queries.
Is there a way to simplify this code.
I cannot use loop because all tables are differents.
example of query:
StringBuilder builder = new StringBuilder() def tableValues = sql.eachRow("select type from order where id = "abc123"") { row -> builder.append( "${row.type}" ) } //Set properties String myvalue = builder.toString() testRunner.testCase.setPropertyValue( "type", type) StringBuilder builder2 = new StringBuilder() def tableValues2 = sql.eachRow("select name from product where desc = "yzx"") { row -> builder.append( "${row.name}" ) } //Set properties String myvalue2 = builder2.toString() testRunner.testCase.setPropertyValue( "name", name)
I would probably just put the results into the test run context.
context.type = sql.firstRow('select type from order where id = ?', ["abc123"]).type
context.name = sql.firstRow('select name from product where desc = ?', ["yzx"]).nameThat form uses prepared statements, which you should be doing and is not much more difficult.
To get the values in a request's body:
${type} ${name}
To get the values in another groovy script:
context.type context.name