Navision - 将NTEXT列从SQL Server传输到xml文件

时间:2012-05-31 11:41:51

标签: sql-server xmldom navision

目前我不知道如何从SQL Server中的NTEXT列获取值到navision中的XML文件。我尝试了很多方法,但它们不起作用。

这是我到目前为止的尝试:

PROCEDURE ExportProdInfo@10();
VAR
  shortDesc@1001 : Text[1000];
  longDesc@1002 : BigText;
  metaDesc@1003 : Text[1000];
  xmlText@1004 : Text[200];
  tmpText@1005 : Text[200];
BEGIN
  //
  // Get the product information directly from database then export to xml file
  //

  xmlDOM.loadXML('</xml>');
  xmlNode := xmlDOM.createNode('element', 'sampleFile', 'namespace');

  IF ISCLEAR(ADOrs[1]) THEN
      CREATE(ADOrs[1]);

  QueryString :=
  'SELECT TOP 1 ProdOptProdNumber, ProdOptLongDescription, ProdOptShortDescription, ProdOptMetaDescription FROM ProductOption';
  MakeVars;
  ADOrs[1].Open(Ascii2Ansi(QueryString),ADOConn,OpenMethod,LockMethod);
  IF NOT ADOrs[1].EOF THEN REPEAT

  //XmlDOM.save('C:\testXML.xml');
    shortDesc := GetFieldStr('ProdOptShortDescription');
    //longDesc.ReadGetFieldStr('ProdOptLongDescription');
    metaDesc := GetFieldStr('ProdOptShortDescription');

    tmpBigText.GETSUBTEXT(tmpText, 0, 10);
    MESSAGE(tmpText);
    ADOrs[1].MoveNext;
  UNTIL ADOrs[1].EOF;

  CLEAR(ADOrs[1]);
END;

PROCEDURE GetFieldStr@13(FieldName@1048200 : Text[1024]) RetVal : Text[1024];
VAR
  tmpText@1001 : Text[250];
  pos@1002 : Integer;
  numberOfByte@1003 : Integer;
BEGIN
  pos := 1;
  ADOStream.Type := 2; // text mode
  ADOStream.Open;
  ADOStream.WriteText(ADOrs[1].Fields.Item(FieldName).Value);
  xmlNode.nodeTypedValue := ADOStream.Read();
  ADOStream.Close;
END;

我的问题是:如何在SQL Server中将NTEXT变量的值转换为Navision中的xmlNode?

错误是:.. is not allowed in this context

0 个答案:

没有答案