Adobe Campaign Classic API - Javascript sqlGetString function not working

Avatar

Avatar

AquaticAds

Avatar

AquaticAds

AquaticAds

06-11-2020

Hi Adobe Community,

 

I've have been attempting to use the 'sqlGetString' function available within the Adobe Campaign Classic API to test whether a value exists (and return it) within the recipient table. Unfortunately I seem unable to get it to work. Below is the Javascript function as it stands:

 

function checkIfValueExists(str){
	
  try {  
	  var val = sqlGetString("SELECT sText2 From NmsRecipient WHERE sText2 = $(sz) LIMIT 1", str);
	  return val.toString();
  
  } catch (e){  
	  return e.toString();
  }
}

 

  If I change the SQL query to:

 

var val = sqlGetString("SELECT sText2 From NmsRecipient WHERE sText2 = 'ETFX2K' LIMIT 1", str);

 

I seem to the error: 'Error: SCR-160021 Function 'sqlGetString': too many arguments (2 instead of 1).'

 

According to the documentation found here, it should accept two parameters. Maybe i'm going wrong somewhere within my SQL syntax. Would you know what might be causing this? 

Thanks for any help you can offer.

 

 

Accepted Solutions (0)

Answers (2)

Answers (2)

Avatar

Avatar

wodnicki

MVP

Avatar

wodnicki

MVP

wodnicki
MVP

09-11-2020

Hi,

 

If possible, use xtk instead of sql.

The arity of the sqlGet* functions is determined by the number of bind variables in the query, +1 for the query itself.

In the second example there are zero bind vars so it expects 1 arg.

 

Thanks,

-Jon

Avatar

Avatar

Sukrity_Wadhwa

Employee

Avatar

Sukrity_Wadhwa

Employee

Sukrity_Wadhwa
Employee

17-11-2020

Hi @AquaticAds,

Was the given solution helpful to resolve your query? Do let us know.

Thanks!