Options

Parameters and ADO

warraxwarrax Member Posts: 25
Hi

I'v read through a LOT of the comment here on the Forum, but I'm still stuck. I want to call a Stored Procedure and pass it one Parameter, and get another one back - it's NOT stored in a table. How do I do it? (Code please).
[-o<
Thanks

Comments

  • WaldoWaldo Member Posts: 3,412
    Did you try this using ADO?

    If you can find ADO-code on the net, you can translate this to C/AL, and do it that way.

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • azwierzchowskiazwierzchowski Member Posts: 15
    If you can find ADO-code on the net, you can translate this to C/AL, and do it that way.

    But Navision has problems handling errors from ADO objects. After error in stored procedure (or SQL command), you have to restart Navision Client (or NAS), because every ADOCommand.Parameters.Append throws error.

    It's better to create activex dll and use ADO from within it. Look here:
    http://www.mibuso.com/forum/viewtopic.php?t=3752
  • warraxwarrax Member Posts: 25
    Hi

    Can someone maybe tell me what's wrong with this code:

    Parameters:
      ADO_Connection 'Microsoft ActiveX Data Objects 2.8 Library'.Connection ADO_Command 'Microsoft ActiveX Data Objects 2.8 Library'.Command ADO_Parameters 'Microsoft ActiveX Data Objects 2.8 Library'.Parameters ADO_Parameter 'Microsoft ActiveX Data Objects 2.8 Library'.Parameter ActiveConnection Text 30 lCommandText Text 1024
    Code:
    IF ISCLEAR(ADO_Connection) THEN
      CREATE(ADO_Connection);
    
    ADO_Connection.ConnectionString := 'Provider=SQLOLEDB;Integrated Security=SSPI;Data Source=NAVSVR1;Initial Catalog=SQLAdminDB';
    ADO_Connection.Open;
    
    IF ISCLEAR(ADO_Command) THEN
      CREATE(ADO_Command);
    
    ADO_Command.ActiveConnection := ADO_Connection.ConnectionString;
    ADO_Command.CommandTimeout:=0;
    ADO_Command.CommandType:=4;
    
    IF ISCLEAR(ADO_Parameter) THEN
      CREATE(ADO_Parameter);
    
    ADO_Parameters := ADO_Command.Parameters;
    
    ADO_Parameter := ADO_Command.CreateParameter('@Password',3,4,0);
    ADO_Parameters.Append(ADO_Parameter);
    
    Password := '';
    lCommandText := STRSUBSTNO('sp_navadmin_addlogin_Navision %1, @Password output', pUserID);
    ADO_Command.CommandText := lCommandText;
    ADO_Command.Execute;
    
    Password := ADO_Parameter.Value;
    
    ADO_Connection.Close;
    CLEAR(ADO_Connection);
    

    Thanks
  • PhennoPhenno Member Posts: 630
    http://www.mibuso.com/forum/viewtopic.p ... +parameter

    and this is not the only one thread about same topic :)
Sign In or Register to comment.