Forum Discussion

Naresh_Surya's avatar
Naresh_Surya
Occasional Contributor
5 years ago

How to pass Date as in parameter for stored proc

I tried below code

// Adding a return parameter
SProc.Parameters.AddParameter()
SProc.Parameters.Items(0).name = "RETURN_VALUE"
SProc.Parameters.Items(0).DataType = adInteger
SProc.Parameters.Items(0).Direction = adParamReturnValue
SProc.Parameters.Items(0).Value = null

//Adding an in parameter
SProc.Parameters.AddParameter()
SProc.Parameters.Items(1).name = "@timeOfBuild"
SProc.Parameters.Items(1).DataType = adDBDateTime  // what should we pass here I tried adDBTime and adDBTimeStamp also
SProc.Parameters.Items(1).Value = "2020-05-19"
SProc.CommandTimeout = 120;
SProc.ExecProc();

 

Can someone please help me here? I am getting adDBDateTime is not defined. Thanks in advance

  • Wamboo's avatar
    Wamboo
    5 years ago

    Try to run it with this peace of code:

     

      var sql = 
      `
      // sql or procedure
      `;
      
      var conn = ADO.CreateCommand();
      conn.ActiveConnection = connectionString;
      conn.CommandType = adCmdText;
      conn.CommandText = sql;
      conn.CommandTimeout = 6000;
      
      try {
        var exe = conn.Execute();
      } catch(exception) {
        Log.Message("FAIL");
      }
  • Sure Wamboo .

     

    // Adding a return parameter
    SProc.Parameters.AddParameter()
    SProc.Parameters.Items(0).name = "RETURN_VALUE"
    SProc.Parameters.Items(0).DataType = adInteger
    SProc.Parameters.Items(0).Direction = adParamReturnValue
    SProc.Parameters.Items(0).Value = null

    //Adding an in parameter
    SProc.Parameters.AddParameter()
    SProc.Parameters.Items(1).name = "@timeOfBuild"
    SProc.Parameters.Items(1).DataType = adDate
    SProc.Parameters.Items(1).Value = aqConvert.strtoDate("2020-05-19")
    SProc.CommandTimeout = 75;
    SProc.ExecProc();

     

    • Naresh_Surya's avatar
      Naresh_Surya
      Occasional Contributor

      Hi Thanks for that link. I have tried two TestComplete ADO constants for Date/DateTime mentioned but i am running into below issues

      Tried adDate as Datatype but got into "application uses a value of the wrong type for the current operation" issue.

      Tried adDBTimeStamp but got into "arguments are of the wrong type, are out of acceptable range, or are in conflict with one another"

       

      Can you confirm if it's because I am passing date in String format? If so, how can we pass the same?

       

       

       

      • Wamboo's avatar
        Wamboo
        Community Hero

        If I understand you correctly. You're trying to run a procedure that already exists in the database, right?

         

        If so... You must pass a parameter with the correct dataType.

         

        Connect to the database and check the type of value in the column you're looking for.