怎么将ACCESS数据转为SQL数据库语句

如何将ACCESS数据转为SQL数据库语句
A:
function TTreeUtils.AddNode(ACaption: string = '新节点'; Index: integer = -1;
  ANode: TTreeNode = nil): Boolean;
var Node, NewNode: TTreeNode;
  PData: PNodeData;
begin
  Result := True;
  try
    if ANode = nil then Node := TreeView.Selected
    else Node := ANode;
    New(PData);
    PData^.Index := getMaxIndex + 1;
    PData^.Caption := ACaption;
    sqlStr := 'Insert into ' + TableName + ' (' + FieldIndex + ',' + FieldPID +
      ',' + FieldCaption + ')' + ' values(' +
      IntToStr(PData^.Index) + ',';
    if Node = nil then Node := TreeView.Items.Item[0];
    if Node.Level = 0 then
      sqlStr := sqlStr + '0,"' + ACaption + '")'
    else
      sqlStr := sqlStr + IntToStr(PNodeData(Node.Parent.Data)^.Index) + ',"' + ACaption + '")';
    if execSQL(sqlStr, errStr) then
    begin
      if Node.Level = 0 then
        NewNode := TreeView.Items.AddChildObject(Node, ACaption, PData)
      else NewNode := TreeView.Items.AddObject(Node, ACaption, PData);
      NewNode.ImageIndex := 1;
      NewNode.SelectedIndex := 2;
    end;
  except
    Result := False;
  end;
end;

B:///////
function TTreeUtils.ModifyNodeCaption(NewCaption: string;
  Node: TTreeNode): boolean;
begin
  sqlStr := 'Update ' + TableName + ' set ' + FieldCaption + '="' + NewCaption + '" where '
    + FieldIndex + ' = ' + IntToStr(PNodeData(Node.Data)^.Index);
  if execSQL(sqlStr, errStr) then
  begin
    Node.Text := NewCaption;
    PNodeData(Node.Data)^.Caption := NewCaption;
  end;
end;
以上是以ACCESS为数据库时的语句,现换成SQL数据就出错,如何修改
------解决思路----------------------
Access 数据库能用的,MSSQL 数据库应该也可以用額。
两个数据库中的表是不是一样的?包括主键。

將最后执行出错的SQL语句帖出来額。