Assign ADO Net SqlDbType

fab_manzella
Member Posts: 13
Hi Guys.. Got a problem. We use Nav 2009 R2.
We have an interface with an external WMS: the procedures reads a flow map table and, for every flow, call a specific Stored Procedure. If the Flow contains a parameter the function calculate the parameter value and append the parameter accoding to the SQL Parameter Data Type. My function assign: Parameter Name, Data Type, Direction, Size..
My problem is a Datetime Parameter.
When I use the Classic Client everything works fine; in RTC I can not append a Datetime Parameter because I don't know how to assign the specific Data Type. For instance varchar = 22, decimal = 5, Integer = 8 but .. what's the value for datetime??
In Classic client I use the Automation Microsoft ActiveX Data Objects 2.8 Library and the values are different. The following code works:
CASE LRecTableFieldMap."Parameter Data Type" OF
LRecTableFieldMap."Parameter Data Type"::Varchar:
BEGIN
ADOTypeMapValue := 200;
EVALUATE(ParVarchar,LRecParValues."Parameter Value");
lAdoParameter:=lADOCommand.CreateParameter(ADOParam,ADOTypeMapValue,1,ADOParamLenght,ParVarchar);
lADOCommand.Parameters.Append(lAdoParameter);
END;
LRecTableFieldMap."Parameter Data Type"::Integer:
BEGIN
ADOTypeMapValue := 5;
..........
END;
LRecTableFieldMap."Parameter Data Type"::Decimal:
BEGIN
ADOTypeMapValue := 5;
............
END;
LRecTableFieldMap."Parameter Data Type"::DateTime:
BEGIN
ADOTypeMapValue := 7;
........
END;
In RTC I have to use: System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 and I can not find the value to define the datetime parameter data type. I've tried 135, 133, 7.. no one is working.
IF ISSERVICETIER THEN BEGIN
CASE LRecTableFieldMap."Parameter Data Type" OF
LRecTableFieldMap."Parameter Data Type"::Varchar:
BEGIN
EVALUATE(ParVarchar,LRecParValues."Parameter Value");
SQLParameter := SQLParameter.SqlParameter;
SQLParameter.ParameterName := ADOParam;
SQLParameter.SqlDbType := 22;
SQLParameter.Direction := 1;
SQLParameter.Size := ADOParamLenght;
SQLParameter.Value := ParVarchar;
SQLCommand.Parameters.Add(SQLParameter);
END;
LRecTableFieldMap."Parameter Data Type"::Integer:
BEGIN
.......
SQLParameter.SqlDbType := 8;
.......
END;
LRecTableFieldMap."Parameter Data Type"::Decimal:
BEGIN
.....
SQLParameter.SqlDbType := 5;
.....
END;
LRecTableFieldMap."Parameter Data Type"::DateTime:
BEGIN
EVALUATE(ParDatetime,LRecParValues."Parameter Value");
SQLParameter := SQLParameter.SqlParameter;
SQLParameter.ParameterName := ADOParam;
SQLParameter.SqlDbType := 7; // VALUE NOT WORKING
SQLParameter.Direction := 1;
SQLParameter.Size := ADOParamLenght;
SQLParameter.Value := ParDatetime;
SQLCommand.Parameters.Add(SQLParameter);
END;
DOES ANYONE CAN HELP ME?
Thanks a Lot.
We have an interface with an external WMS: the procedures reads a flow map table and, for every flow, call a specific Stored Procedure. If the Flow contains a parameter the function calculate the parameter value and append the parameter accoding to the SQL Parameter Data Type. My function assign: Parameter Name, Data Type, Direction, Size..
My problem is a Datetime Parameter.
When I use the Classic Client everything works fine; in RTC I can not append a Datetime Parameter because I don't know how to assign the specific Data Type. For instance varchar = 22, decimal = 5, Integer = 8 but .. what's the value for datetime??
In Classic client I use the Automation Microsoft ActiveX Data Objects 2.8 Library and the values are different. The following code works:
CASE LRecTableFieldMap."Parameter Data Type" OF
LRecTableFieldMap."Parameter Data Type"::Varchar:
BEGIN
ADOTypeMapValue := 200;
EVALUATE(ParVarchar,LRecParValues."Parameter Value");
lAdoParameter:=lADOCommand.CreateParameter(ADOParam,ADOTypeMapValue,1,ADOParamLenght,ParVarchar);
lADOCommand.Parameters.Append(lAdoParameter);
END;
LRecTableFieldMap."Parameter Data Type"::Integer:
BEGIN
ADOTypeMapValue := 5;
..........
END;
LRecTableFieldMap."Parameter Data Type"::Decimal:
BEGIN
ADOTypeMapValue := 5;
............
END;
LRecTableFieldMap."Parameter Data Type"::DateTime:
BEGIN
ADOTypeMapValue := 7;
........
END;
In RTC I have to use: System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 and I can not find the value to define the datetime parameter data type. I've tried 135, 133, 7.. no one is working.
IF ISSERVICETIER THEN BEGIN
CASE LRecTableFieldMap."Parameter Data Type" OF
LRecTableFieldMap."Parameter Data Type"::Varchar:
BEGIN
EVALUATE(ParVarchar,LRecParValues."Parameter Value");
SQLParameter := SQLParameter.SqlParameter;
SQLParameter.ParameterName := ADOParam;
SQLParameter.SqlDbType := 22;
SQLParameter.Direction := 1;
SQLParameter.Size := ADOParamLenght;
SQLParameter.Value := ParVarchar;
SQLCommand.Parameters.Add(SQLParameter);
END;
LRecTableFieldMap."Parameter Data Type"::Integer:
BEGIN
.......
SQLParameter.SqlDbType := 8;
.......
END;
LRecTableFieldMap."Parameter Data Type"::Decimal:
BEGIN
.....
SQLParameter.SqlDbType := 5;
.....
END;
LRecTableFieldMap."Parameter Data Type"::DateTime:
BEGIN
EVALUATE(ParDatetime,LRecParValues."Parameter Value");
SQLParameter := SQLParameter.SqlParameter;
SQLParameter.ParameterName := ADOParam;
SQLParameter.SqlDbType := 7; // VALUE NOT WORKING
SQLParameter.Direction := 1;
SQLParameter.Size := ADOParamLenght;
SQLParameter.Value := ParDatetime;
SQLCommand.Parameters.Add(SQLParameter);
END;
DOES ANYONE CAN HELP ME?
Thanks a Lot.
0
Comments
-
* Daniele Rebussi * | * Rebu NAV Diary *0
-
You're probably right.
I'm gonna take that way.
Thanks. :thumbsup:0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions