Home
        Capitulo 8
         Contents
1.      Exibindo um aviso solicitando que o usu  rio forne  a um valor de par  metro    Se o par  metro n  o for uma vari  vel ou uma express  o  voc   pode querer exibir um aviso  solicitando ao usu  rio que forne  a o valor do par  metro utilizando uma seq    ncia entre aspas como  par  metro da visualiza    o  Quando voc   cria o par  metro da visualiza    o utilizando uma seq    ncia  entre aspas ap  s o s  mbolo          o Visual FoxPro n  o interpreta a sequ  ncia como uma express  o   Em vez disso  voc      avisado para digitar o valor do par  metro em tempo de execu    o  Por  exemplo  o c  digo abaixo cria uma visualiza    o remota com par  metros que avisa ao usu  rio para  fornecer um valor para o par  metro    my customer id         OPEN DATABASE testdata  CREATE SQL VIEW customer remote view    CONNECTION remote 01    AS SELECT   FROM customer    WHERE customer cust id     my customer id   USE customer remote view  Quando voc   utiliza a visualiza    o no exemplo anterior     exibida a caixa de di  logo Par  metro de  visualiza    o                                                  A caixa de di  logo Par  metro de visualiza    o solicita o valor na sequ  ncia entre aspas    Par  metro de visualiza    o x     Digite o valor para  my customer id      E  Cancelar         Depois que voc   digita uma identifica    o de cliente v  lida  o Visual FoxPro recupera o registro  correspondente a essa identifica    o  Se voc   digitar o valor  ALFKI  no exemplo anterior e  em  s
2.     o  Se desejar visualizar os registros dos clientes da Su  cia   voc   poder   criar a cl  usula SQL WHERE para a visualiza    o a seguir                 SELECT   FROM customer     WHERE customer country    Su  cia   Este c  digo limita efetivamente o escopo da visualiza    o transferindo registros apenas dos clientes  suecos  mas tamb  m requer que voc   crie uma visualiza    o separada para cada pa  s  pois o valor  real de customer country de um pa  s est   codificado de forma permanente na instru    o SELECT da  visualiza    o                 Criando uma visualiza    o com par  metros    Voc   pode limitar o escopo de uma visualiza    o sem criar uma visualiza    o separada para cada  subconjunto de registros  criando uma visualiza    o com par  metros  Uma visualiza    o com  par  metros cria  na instru    o SQL SELECT da visualiza    o  uma cl  usula WHERE que limita os  registros transferidos apenas aos registros que correspondam   s condi    es da cl  usula WHERE  criada utilizando o valor fornecido para o par  metro  Este valor pode ser fornecido em tempo de  execu    o ou passado atrav  s da linguagem de programa    o para a visualiza    o     No caso do exemplo anterior  voc   pode criar uma visualiza    o que lhe permita transferir registros  de qualquer pa  s  simplesmente digitando o nome do pa  s quando utilizar a visualiza    o     k Para criar uma visualiza    o com par  metros   e No Criador de visualiza    es  selecione Par  metros de visualiza    o no m
3.    SQL inclu  da no comando CREATE SQL VIEW quando a visualiza    o    criada   No exemplo anterior  a utiliza    o de product view tamb  m abre automaticamente a tabela products        dt          Janela Sess  o de dados exibe a visualiza    o e a sua tabela base       Sess  o de dados Ez EI  Sess  o atual   Padr  o 1        Bliases Rela    es    Products view a    Product    Propriedades         Pesquisar  Bsbrir  Fechar    Rela    es    iee      i    ta  as  py  E    i        Banco de dados  Dados1    rea de trabalho  1   Registros  O       Quando uma visualiza    o est   baseada em tabelas remotas  as tabelas base n  o s  o abertas em    reas de trabalho  Somente o nome da visualiza    o remota    exibido na janela Sess  o de dados     Limitando o escopo de uma visualiza    o    Ao acessar uma fonte de dados remota  voc   est   acessando um grande volume de dados      poss  vel limitar o escopo dos dados selecionados na visualiza    o a apenas registros necess  rios em  um determinado momento  Isto reduz o tr  fego na rede e melhora o desempenho da visualiza    o   Por exemplo  se voc   quiser visualizar informa    es sobre os clientes de um pa  s espec  fico e sobre  seus pedidos  poder   melhorar o desempenho se transferir para a visualiza    o somente os registros  relativos a esse pa  s  em vez de transferir todos os clientes     Um m  todo que voc   pode utilizar para limitar o escopo da visualiza    o    adicionar uma cl  usula  WHERE    instru    o SQL da visualiza
4.   o Visual  FoxPro ir   procurar a tabela na lista de bancos de dados abertos  inclusive no banco de dados atual  e em todos os bancos de dados anteriores  e no caminho de procura padr  o da tabela     Se voc   n  o qualificar uma tabela com um nome de banco de dados em uma defini    o de  visualiza    o  o banco de dados dever   estar aberto para que a visualiza    o possa ser utilizada     Dica Quando voc   cria ou utiliza uma visualiza    o no Gerenciador de projetos  o Gerenciador de  projetos abre o banco de dados automaticamente  Se utilizar posteriormente uma visualiza    o fora  do projeto  voc   dever   abrir o banco de dados ou certificar se de que ele est   no escopo para que  possa utilizar a visualiza    o     Criando visualiza    es com instru    es SQL SELECT armazenadas       poss  vel utilizar a substitui    o de macro para armazenar a instru    o SQL SELECT em uma  vari  vel que voc   pode chamar com a cl  usula AS do comando CREATE SQL VIEW  Por exemplo   o c  digo abaixo armazena uma instru    o SQL SELECT na vari  vel emp cust sql  que  em seguida      utilizada para criar uma nova visualiza    o              emp cust sql    SELECT employee emp id     customer cust id  customer emp id     customer contact  customer company    FROM employee  customer    WHERE employee emp id   customer emp id   CREATE SOL VIEW emp cust view AS semp cust sql    Modificando visualiza    es    Voc   pode modificar as visualiza    es existentes no Criador de visualiza    es ut
5.  FoxPro  cria para a visualiza    o uma cl  usula WHERE que retorna sempre um valor falso  Visto que nenhum  registro na fonte de dados corresponde    condi    o da cl  usula WHERE  n  o ser   selecionada  nenhuma linha no cursor da fonte de dados remota  A visualiza    o    recuperada rapidamente  pois  voc   n  o fica esperando que a fonte de dados remota construa um cursor potencialmente grande                    Dica Utilizar a cl  usula NODATA    mais eficiente do que utilizar a defini    o O da propriedade  MaxRecords na visualiza    o ou no cursor  Quando voc   utiliza a propriedade MaxRecords      necess  rio aguardar enquanto a fonte de dados remota constr  i um cursor para a visualiza    o  contendo todas as linhas de dados correspondentes   s condi    es normais da cl  usula WHERE da  visualiza    o  Em seguida  as linhas do cursor da visualiza    o remota completa s  o transferidas de  acordo com a defini    o da propriedade MaxRecords     Criando um   ndice em uma visualiza    o       poss  vel criar   ndices locais em uma visualiza    o  exatamente da mesma forma que em uma  tabela  utilizando o comando INDEX ON  Ao contr  rio dos   ndices constru  dos em uma tabela  os    ndices locais criados em uma visualiza    o n  o s  o armazenados permanentemente  eles  desaparecem quando a visualiza    o    fechada     Dica Considere o tamanho do conjunto de resultados da visualiza    o ao decidir se criar   um   ndice  local em uma visualiza    o  A indexa    o de um co
6.  Para  alterar estas propriedades na conex  o ativa  utilize a fun    o SQLSETPROP   para o identificador de  conex  o     As visualiza    es e as conex  es podem utilizar uma fonte de dados ODBC definida  Se voc   utilizar  uma fonte de dados ODBC em uma visualiza    o  a conex  o herdar   propriedades dos padr  es da  sess  o     O diagrama abaixo ilustra a heran  a de propriedades em visualiza    es e conex  es  As linhas cinzas  representam o fluxo da heran  a de propriedades  as linhas pretas representam comandos do Visual  FoxPro     Propriedades de visualiza    es e conex  es e sua heran  a       Defini    es atuais do Visual FoxPro      E    ODBC  Nome das fontes       de dados ODBC  nstabdas       Selecione o nome da            a x fonte de dados em  CRIAR CONEX  O CRIAR VISUALIZA    O CRIAR CONEX  O  ou  CRIAR VISUALIZA    O  Banco de dados  1 Selecione o  nome da  Defini    o da  conexioem  Defini    o da  conex  o   CRIAR  wis ualiza    o  VISUALIZA    O  2   3  UTILEAR  VISUALIZA    O  Visualiza    o e conex  o da  visualiza    o LEGENDA    E 5 Heran  a de  Ativar Ativar Ativar propriedade        conex  o conex  o de cursor    visualiza    o       Comandos    Se a visualiza    o estiver baseada ernurra fonte de dados ODBC  as propriedades de cones  o ativa  ser  o herdadas da defini    o da cones  o              Defini    es atuais do Visual FoxPro      E    ODBC  Nome das fontes    de dados ODBC  nstabdas       Selecione o nome da                a x fonte de dad
7.  as tabelas no computador central residirem em um servidor remoto  como SQL Server  voc    talvez utilize o c  digo a seguir como uma diretriz     Atualizando tabelas remotas com visualiza    es off line                                           C  digo Coment  rios  USE myofflineview ONLINE EXCLUSIVE Reconecta ao computador  central e abre a visualiza    o    SQLSetProp  liviewhandle  transactions  2  Define as conex  es nas   SQLSetProp  custviewhandle   transactions  2  visualiza    es para lidar com   SQLSetProp  ordviewhandle   transactions  2  as transa    es manualmente    IF NOT TABLEUPDATE   T   F   lineitemsview   Gerencia atualiza    es e   SQLROLLBACK  ordviewhandle  conflitos de atualiza    o    MESSAGEBOX   Can t update line items table               IF NOT TableUpdate  T   F   ordersview     SQLROLLBACK  liviewhandle    MESSAGEBOX   unable to update the orders table    IF NOT TABLEUPDATE   T   F   customerview     SQLROLLBACK  custviewhandle    MESSAGEBOX   Can t update customer table    Else    check out failure scenarios  IF NOT SQOLCOMMIT  liviewhandle    SQLROLLBACK  liviewhandle   IF NOT SOQOLCOMMIT  ordviewhandle    SQLROLLBACK  ordviewhandle   IF NOT SQLCOMMIT  custviewhandle    SQLROLLBACK  custviewhandle   ENDIF  ENDIF  ENDIF  ENDIF  ENDIF  ENDIF                                                                Atualizando um registro    Se estiver atualizando uma   nica linha  poder   utilizar transa    es autom  ticas  Como cada instru    o  para proces
8.  cursor  n  o    recomend  vel iniciar uma outra carga ou enviar  atualiza    es na mesma conex  o  Para determinar se a conex  o est   ocupada  utilize a propriedade  ConnectBusy  que retornar   um valor verdadeiro   T   se a conex  o estiver ocupada  Voc   pode  utilizar esta propriedade no aplicativo para testar se uma conex  o est   ocupada antes de enviar um  pedido atrav  s de uma conex  o compartilhada para uma fonte de dados remota     k Para determinar se uma conex  o est   ocupada   e Utilize a propriedade ConnectBusy da fun    o SQLGETPROP      Para utilizar a fun    o SQLGETPROP    voc   precisa do identificador de conex  o  Para definir o  identificador de conex  o de uma visualiza    o ativa  utilize a propriedade ConnectHandle da fun    o    CURSORGETPROP    O c  digo abaixo define um identificador de conex  o e  em seguida  utiliza  esse identificador para testar se uma conex  o est   ocupada           nConnect ionHandle CURSORGETPROP   ConnectHandle    SQLGETPROP  nConnectionHandle   ConnectBusy            
9.  es de propriedades  padr  o preparam automaticamente a visualiza    o para que seja atualiz  vel  mas as atualiza    es s    s  o enviadas para a fonte de dados quando voc   instrui o Visual FoxPro para faz   lo  ativando a  propriedade SendUpdates     Uma visualiza    o utiliza cinco propriedades para controlar atualiza    es  Estas propriedades  encontram se listadas abaixo com suas defini    es padr  o     Propriedades de atualiza    o da visualiza    o e suas defini    es padr  o          Propriedade da Defini    o padr  o  visualiza    o       Tables Inclui todas as tabelas que possuem campos  atualiz  veis e pelo menos um campo de chave  prim  ria    KeyField Os campos chave do banco de dados e as chaves  prim  rias remotas da tabela    UpdateName Nome tabela nome coluna de todos os campos    Updatable Todos os campos  exceto os campos de chave  prim  ria    SendUpdates Adota o padr  o da sess  o  que originalmente est      definido como falso   F    se voc   alter   lo para  verdadeiro   T    este passar   a ser o padr  o para  todas as visualiza    es criadas na sess  o     CompareMemo Adota o padr  o de verdadeiro   T   e significa que os  campos Memo s  o inclu  dos na cl  usula WHERE e  utilizados para detectar conflitos de atualiza    o     Embora todas as cinco propriedades sejam necess  rias para atualizar dados  a propriedade  SendUpdates funciona como uma    op    o mestre    que controla se as atualiza    es s  o ou n  o  enviadas  No desenvolvimento do apli
10.  for table customer  Full  Rushmore Optimization level for table orders  none  Joining table customer and table orders using Cust id   4 Na janela Comando  digite SYS 3054 0  para desativar SQL ShowPlan                                               Controlando a avalia    o da associa    o    Se o plano de execu    o para as suas associa    es n  o corresponder   s suas necessidades  espec  ficas  voc   poder   for  ar a ordem de associa    o para executar exatamente conforme escrita  sem otimiza    o do processador  Para for  ar a ordem de avalia    o da associa    o  voc   precisa  adicionar a palavra chave FORCE e colocar as condi    es de associa    o na cl  usula FROM  As  condi    es de associa    o colocadas na cl  usula WHERE n  o est  o inclu  das em uma avalia    o de  associa    o for  ada     Observa    o Voc   n  o pode utilizar a palavra chave FORCE em instru    es de passagem SQL ou  visualiza    es remotas porque essa palavra chave    uma extens  o do Visual FoxPro do padr  o ANSI    e n  o    suportada em outros dicion  rios SQL     A cl  usula FORCE    global e  portanto  aplica se a todas as tabelas na cl  usula JOIN  Certifique se  de que a ordem na qual as tabelas de associa    o aparecem seja exatamente a ordem na qual  devem ser associadas  Tamb  m    poss  vel utilizar par  nteses para controlar a ordem de avalia    o  das associa    es     Neste exemplo  a primeira associa    o especificada tamb  m    a primeira associa    o avaliada  A    tabela Clie
11.  o atual  Para alterar essas defini    es padr  o  utilize a  fun    o CURSORSETPROP   com 0 como o n  mero do cursor  Depois de criar a visualiza    o e  armazen   la em um banco de dados  voc   poder   alterar suas propriedades com a fun    o  DBSETPROP    As altera    es feitas em propriedades da visualiza    o em um banco de dados s  o  armazenadas de maneira cont  nua     Quando voc   utiliza uma visualiza    o  as defini    es de propriedades armazenadas para a  visualiza    o no banco de dados s  o herdadas pelo cursor de visualiza    o ativo  Para alterar estas  propriedades no cursor ativo  utilize a fun    o CURSORSETPROP   para o cursor de visualiza    o   As altera    es feitas com a fun    o CURSORSETPROP   s  o tempor  rias  As defini    es  tempor  rias da visualiza    o ativa desaparecem quando ela    fechada  as defini    es tempor  rias do  cursor O desaparecem quando voc   fecha a sess  o do Visual FoxPro     As conex  es herdam propriedades de modo semelhante  As propriedades padr  o da conex  o O s  o  herdadas quando uma conex  o definida    criada e armazenada em um banco de dados  Voc   pode  alterar as defini    es destas propriedades padr  o da conex  o 0 com a fun    o SQLSETPROP     Depois de criar e armazenar a conex  o em um banco de dados  voc   pode alterar as suas  propriedades com a fun    o DBSETPROP    Quando uma conex  o    utilizada  as defini    es de  propriedades armazenadas para ela no banco de dados s  o herdadas pela conex  o ativa 
12.  o exclusiva que  depois  poder   ser compartilhada com outras  visualiza    es     Apenas uma inst  ncia ativa de uma determinada defini    o de conex  o    compartilhada durante uma  sess  o do Visual FoxPro  Caso v  rias inst  ncias da mesma defini    o de conex  o estejam ativas  a  primeira inst  ncia a ser utilizada como uma conex  o compartilhada se tornar   a conex  o  compartilhada designada  Todas as visualiza    es que utilizem essa defini    o de conex  o e  empreguem o compartilhamento de conex  o ir  o acessar o servidor remoto atrav  s da conex  o  compartilhada designada     As demais conex  es n  o ser  o compartilhadas  O compartilhamento de conex  o n  o se aplica ao  escopo de sess  es   k Para compartilhar uma conex  o    e No menu Ferramentas  selecione Op    es e selecione a guia Dados remotos  em seguida   selecione a caixa de verifica    o Compartilhar conex  o na   rea Padr  es de visualiza    o  remota e selecione OK       Ou    e Utilize o Criador de visualiza    es     Ou Si  e Utilize o comando CREATE SQL VIEW com a cl  usula SHARE   O c  digo abaixo cria uma visualiza    o que  quando ativada com o comando USE  compartilha uma    conex  o        CREATE SOL VIEW product view remote    CONNECTION remote 01 SHARE AS    SELECT   FROM products   USE product view remote                                  Testando se uma conex  o est   ocupada    Quando uma conex  o est   ocupada  como quando o Visual FoxPro est   carregando  progressivamente dados em um
13.  para criar uma conex  o no banco de dados testdata que armazene as informa    es  necess  rias para conectar se    fonte de dados ODBC sqglremote  voc   pode digitar o c  digo a seguir        OPEN DATABASE testdata  CREATE CONNECTION remote 01 DATASOURCE sqglremote userid password    O Visual FoxPro exibe remote 01 como o nome da conex  o no Gerenciador de projetos                          A cria    o de uma conex  o definida no banco de dados n  o utiliza nenhum recurso remoto ou de  rede  pois o Visual FoxPro s   ativa a conex  o quando voc   utiliza a visualiza    o  At   voc   ativar a  conex  o  a conex  o definida existe apenas como uma defini    o de conex  o armazenada como uma  linha no arquivo  DBC do banco de dados  Quando voc   utiliza uma visualiza    o remota  o Visual  FoxPro utiliza a conex  o definida referenciada na visualiza    o para criar uma conex  o real com a  fonte de dados remota e  em seguida  envia o pedido de dados para a fonte remota  utilizando a  conex  o ativa como canal     Voc   pode criar  opcionalmente  uma visualiza    o que especifique somente o nome da fonte de  dados  em vez de um nome de conex  o  Quando voc   utiliza a visualiza    o  o Visual FoxPro utiliza  as informa    es do ODBC sobre a fonte de dados para criar e ativar uma conex  o com a fonte de  dados  Quando voc   fecha a visualiza    o  a conex  o    fechada        Preced  ncia de nomes de conex  es e bancos de dados    Quando utiliza o comando CREATE SQL VIEW com a cl  u
14. BSETPROP   cust view   View   SendUpdates   T     Quando voc   utiliza DBSETPROP   para definir propriedades em uma visualiza    o antes de   utiliz   la  as defini    es s  o armazenadas no banco de dados e utilizadas automaticamente sempre   que a visualiza    o    ativada  Depois de ativar a visualiza    o  voc   poder   utilizar   CURSORSETPROP   para alterar as defini    es de propriedades desta visualiza    o ativa  As   defini    es de propriedades definidas em uma visualiza    o ativa com CURSORSETPROP   n  o s  o   salvas quando voc   fecha a visualiza    o              Atualizando v  rias tabelas em uma visualiza    o       poss  vel atualizar v  rias tabelas base em uma visualiza    o  Quando a visualiza    o combinar duas  ou mais tabelas  defina propriedades para certificar se de que somente o lado    muitos    da consulta  de visualiza    o    atualiz  vel     As visualiza    es s  o atualizadas tabelas por tabelas  Voc   deve certificar se de que para cada  tabela acessada em uma visualiza    o  o campo chave definido    uma chave   nica  tanto para o  conjunto de resultados da visualiza    o como para a tabela base    k Para tornar uma visualiza    o de v  rias tabelas atualiz  vel    e No Criador de visualiza    es  selecione a guia Crit  rios de atualiza    o e  em seguida   selecione as tabelas e os nomes de campos que deseja atualizar       Ou    e Utilize a fun    o DBSETPROP     Na maior parte dos casos  os valores padr  o fornecidos pelo Visual FoxPro p
15. Field   KeyField   T            Importante Certifique se de que o s  campo s  chave especificado s  define m  uma chave    nica na tabela base que voc   deseja atualizar e na visualiza    o        3 Mapeie os campos da visualiza    o para os respectivos campos da tabela base com a propriedade  UpdateName  Esta propriedade    particularmente   til quando a visualiza    o est   baseada na  associa    o de duas tabelas com um nome de campo comum ou quando os campos t  m aliases  na visualiza    o  Para atualizar a tabela base desejada  mapeie o nome do campo da visualiza    o  do Visual FoxPro para o nome da tabela e o campo da tabela base    DBSETPROP   cust view cust id   Field    UpdateName      customer cust id     Dica Para evitar a cria    o de campos sin  nimos na visualiza    o  pode se qualificar nomes de   campo na instru    o SQL utilizada para construir a visualiza    o  E  em seguida  utilizar a   propriedade UpdateName da visualiza    o para mapear cada campo qualificado para o nome   correto de campo e tabela base     4 Especifique o escopo dos campos que deseja atualizar com a propriedade UpdateField  Voc    deve especificar apenas os campos tamb  m especificados com a propriedade UpdateName   DBSETPROP   cust view cust id   Field    Updatable      ele    5 Defina a propriedade SendUpdates como verdadeira   T    Esta    a op    o mestre que instrui o  Visual FoxPro a criar e enviar atualiza    es para qualquer tabela e campo especificados como  atualiz  veis    D
16. Se voc   quiser um conjunto de dados atualiz  veis personalizado para o seu aplicativo  poder   utilizar  visualiza    es  As visualiza    es combinam as qualidades de tabelas e de consultas  como em uma  consulta  voc   pode utilizar uma visualiza    o para extrair um conjunto de dados de uma ou mais  tabelas relacionadas  como em uma tabela  voc   pode utilizar uma visualiza    o para atualizar as  informa    es nela contidas e armazenar permanentemente os resultados no disco  Voc   tamb  m  pode utilizar visualiza    es para colocar seus dados off line e coletar ou modificar dados do seu  sistema principal     Este cap  tulo abrange a cria    o e a atualiza    o de visualiza    es atrav  s da linguagem de  programa    o  bem como a defini    o de propriedades para otimizar o desempenho de suas  visualiza    es  Para obter maiores informa    es sobre bancos de dados  consulte o cap  tulo 6  Se  quiser obter maiores informa    es sobre tabelas ou   ndices  consulte o cap  tulo 7  Para obter maiores  informa    es sobre o Criador de visualiza    es  consulte o cap  tulo 5 no Guia do Usu  rio     Este cap  tulo aborda os t  picos a seguir     e Criando uma visualiza    o   e Utilizando visualiza    es   e Atualizando dados em uma visualiza    o   e Combinando visualiza    es   e Trabalhando com dados off line   e Otimizando o desempenho das visualiza    es    Criando uma visualiza    o    Voc   cria uma visualiza    o quase da mesma maneira que cria uma consulta  Selecione as 
17. a   nica transa    o em vez de uma s  rie de  transa    es separadas     Atualizando tabelas locais com visualiza    es off line                                                                         C  digo Coment  rios  USE myofflineview ONLINE EXCLUSIVE Reconecta ao computador  central e abre a visualiza    o  BEGIN TRANSACTION Verifica os conflitos de  IF TABLEUPDATE  2   F    myofflineview   atualiza    o e atualiza  END TRANSACTION conforme adequado   F  S F  MESSAGEBOX   Erro ocorreu  Atualiza    o sem sucesso     ROLLBACK  ENDIF             Atualizando lotes de registros em tabelas remotas    Para processar um lote de altera    es em tabelas remotas  utilize transa    es manuais  comece com  TABLEUPDATE    e termine o processamento com SQLCOMMIT    ou SQLROLLBACK        Para definir a conex  o de forma a gerenciar suas transa    es manualmente  voc   precisa utilizar  CURSORGETPROP   no cursor da visualiza    o para obter o identificador de conex  o e definir a  propriedade Transactions para o modo manual     No c  digo a seguir  a identifica    o da conex  o atual para a visualiza    o  myview     armazenada em  hConn1  hConn1    utilizado para definir a propriedade Transactions como    2    para transa    es  manuais        hConnl   CURSORGETPROP   CONNECTHANDLE    myview      SOLSETPROP  hConnl   TRANSACTIONS  2    Depois de definir a conex  o para gerenciar as atualiza    es  voc   poder   utilizar TABLEUPDATE     para manipular as transa    es                 Se
18. ades de atualiza    o de  visualiza    es    e Examine as defini    es padr  o atuais com o comando DISPLAY DATABASE e  em seguida   modifique propriedades da defini    o de visualiza    o  como desejar  com a fun    o  DBSETPROP       o exemplo abaixo lista os passos que voc   deve seguir para especificar as cinco propriedades de  atualiza    o de visualiza    es utilizando a linguagem de programa    o   Observa    o As propriedades padr  o podem fornecer todas as informa    es necess  rias para  atualizar a visualiza    o  1 Defina a propriedade Tables com pelo menos um nome de tabela     Por exemplo  se a visualiza    o est   baseada na tabela customer denominada cust  view  voc    poder   definir o nome de tabela com a fun    o a seguir   DBSETPROP   cust view   View   Tables    customer         Dica Se uma tabela aparecer como um qualificador na propriedade UpdateName  mas n  o  estiver inclu  da na lista padr  o da propriedade Tables  ela poder   n  o possuir um campo de  chave prim  ria especificado  Torne a tabela atualiz  vel adicionando o campo que voc   considera  um campo chave    lista da propriedade KeyField e  em seguida  adicione a tabela    lista da  propriedade Tables     2 Defina a propriedade KeyField com um ou mais nomes de campos locais do Visual FoxPro que   juntos  definam uma chave   nica para a tabela de atualiza    o     Utilizando o mesmo exemplo  voc   pode tornar cust id o campo chave utilizando o c  digo abaixo   DBSETPROP   cust view cust id   
19. bre a sequ  ncia de associa    es  consulte Definindo v  rias  condi    es de associa    o posteriormente neste cap  tulo     A escolha de um tipo de associa    o diferente permite que voc   expanda os resultados da sua  consulta para incluir registros que correspondam    condi    o de associa    o e tamb  m aqueles que  n  o correspondem  Se tiver mais de duas tabelas na visualiza    o  voc   poder   alterar os resultados  alterando a ordem das associa    es na cl  usula FROM     Voc   pode modificar os tipos de associa    o na sua visualiza    o utilizando o Criador de  visualiza    es ou a linguagem   k Para modificar um tipo de associa    o  e Selecione a guia Associa    o       Ou      e Clique duas vezes sobre a linha de associa    o       Ou        e Abra um banco de dados e utilize o comando CREATE SQL VIEW   adicionando nomes de tabelas  e condi    es de associa    o    cl  usula FROM     Incluindo registros n  o correspondentes nos resultados    Se voc   desejar incluir linhas n  o correspondentes nos seus resultados  poder   utilizar uma  associa    o externa  Por exemplo  voc   talvez queira uma lista de todos os clientes e se eles fizeram  ou n  o um pedido  Al  m disso  para os clientes que fizeram pedidos  voc   talvez queira que os  n  meros de pedido sejam inclu  dos na visualiza    o  Quando voc   utiliza uma associa    o externa  os  campos vazios das linhas n  o correspondentes retornam valores nulos     Voc   tamb  m pode utilizar a linguagem para criar e
20. campo e  em seguida  escolha  Propriedades e digite a express  o da regra e o texto da mensagem para o campo        0Ou     e Utilize as propriedades RuleExpression e RuleText da fun    o DBSETPROP       Por exemplo  o c  digo abaixo cria uma regra em n  vel de campo em orditems view que impede a  entrada de uma quantidade inferior a 1        OPEN DATABASE testdata  USE VIEW orditems view                   DBSETPROP   Orditems view quantity   Field       RuleExpression     quantity  gt   1    DBSETPROP   Orditems view quantity   Field       RuleText         Quantities must be greater than or equal to 1     Tamb  m    poss  vel utilizar a fun    o DBSETPROP   para criar regras em n  vel de linha                       Combinando visualiza    es       poss  vel construir uma visualiza    o baseada em outras visualiza    es  Talvez voc   queira fazer  isso se precisar de um subconjunto das informa    es dispon  veis em v  rias outras visualiza    es ou  se desejar combinar dados remotos e locais em uma   nica visualiza    o  Uma visualiza    o baseada  em outras visualiza    es  ou em uma combina    o de tabelas locais e visualiza    es locais ou  remotas     chamada de visualiza    o de v  rios n  veis  A visualiza    o que combina outras  visualiza    es    a visualiza    o de n  vel superior  Pode haver v  rios n  veis de visualiza    es entre a  visualiza    o de n  vel superior e as tabelas base remotas ou locais  Ao utilizar uma visualiza    o de  v  rios n  veis  as visual
21. cativo  voc   poder   desativar a propriedade SendUpdates e   em seguida  configurar as outras propriedades para permitir atualiza    es nos campos que deseja  atualizar  Quando estiver pronto para testar o aplicativo  voc   poder   ativar a propriedade  SendUpdates para iniciar o fluxo das atualiza    es     Em determinadas situa    es mais complexas  as defini    es de atualiza    es padr  o podem n  o  fornecer atualiza    es para uma visualiza    o criada atrav  s da linguagem  Para permitir atualiza    es   observe as defini    es padr  o de cada propriedade de atualiza    o e ajuste as quando necess  rio   Tamb  m    poss  vel especificar outras propriedades  como UpdateType  WhereType  etc   de acordo  com as suas prefer  ncias  Para obter uma lista completa das propriedades de visualiza    es   consulte DBGETPROP       k Para tornar uma visualiza    o atualiz  vel no Criador de visualiza    es    e No Criador de visualiza    es  selecione a guia Crit  rio de atualiza    o e verifique as defini    es  padr  o    As defini    es padr  o das visualiza    es que podem ser criadas atrav  s do Criador de visualiza    es   geralmente preparam a visualiza    o para ser atualiz  vel  voc   s   precisa selecionar a caixa de   verifica    o Enviar Atualiza    es SQL para ativar as atualiza    es  Voc   tamb  m pode modificar as   op    es de atualiza    o  cl  usula SQL WHERE  campos e tabelas  conforme desejar     k Para tornar uma visualiza    o atualiz  vel definindo propried
22. cessar informa    es do Visual FoxPro e de fontes de dados ODBC remotas da  mesma maneira  Para obter informa    es sobre como acessar dados locais e remotos em uma   nica  visualiza    o  consulte a se    o Combinando dados locais e remotos em uma visualiza    o  posteriormente neste cap  tulo     Criando uma visualiza    o local    Voc   pode criar uma visualiza    o local com o Criador de visualiza    es ou com o comando  CREATE SQL VIEW   k Para criar uma visualiza    o local    e No Gerenciador de projetos  selecione um banco de dados  em seguida  selecione  Visualiza    es locais e Novo para abrir o Criador de visualiza    es         Ou      e Utilize o comando CREATE SQL VIEW quando um banco de dados estiver aberto  para exibir o  Criador de visualiza    es       Ou    e Utilize o comando CREATE SQL VIEW com a cl  usula AS   Por exemplo  o c  digo abaixo cria uma visualiza    o que cont  m todos os campos da tabela products           CREATE SOL VIEW product view AS SELECT        FROM testdata products  O nome da nova visualiza    o ser   exibido no Gerenciador de projetos  Se voc   abrir o Criador de  bancos de dados  a visualiza    o ser   exibida da mesma maneira que uma tabela no esquema   com o nome da visualiza    o substituindo o nome da tabela                          No exemplo anterior  o nome da tabela    precedido  ou qualificado  pelo nome do banco de dados da  tabela e o s  mbolo          Se voc   qualificar o nome da tabela quando criar uma visualiza    o
23. de Marketing atualizem os dados e depois gravar os dados alterados no banco de  dados fonte     e Um local geograficamente remoto que requer que voc   utilize um subconjunto de dados em um  laptop  modifique os dados Oindependentemente do banco de dados no computador central e  em  seguida  atualize o banco de dados no computador central com os dados alterados  posteriormente     e Dados sens  veis    data  Por exemplo  voc   talvez queira atualizar dados que reflitam aumentos  de sal  rio dos funcion  rios antes que os novos valores entrem em vigor     Trabalhando com visualiza    es off line    ar MI   Crie uma visualiza    o offline    enquanto estiver conectado a ER   uma fonte de dados locais ou Edo    7    remotos     Os dados na visualiza    o off line  podem ser modifica dos          Atualize a tabela de Ga    com os dados modificados             Para criar e utilizar dados de visualiza    o off line  voc   pode utilizar os recursos de linguagem a  seguir     e Afun    o CREATEOFFLINE     e O comando USE SQLViewName com as cl  usulas ADMIN e ONLINE  e Afun    o TABLEUPDATE   e Afun    o DROPOFFLINE      Se planeja utilizar a visualiza    o off line em uma m  quina que n  o seja aquela na qual a  visualiza    o foi criada  voc   deve preparar o destino off line criando uma c  pia do arquivo de banco  de dados no computador central   DBC   certificando se de que a fonte de dados ODBC utilizada  pela visualiza    o existe na m  quina de destino e analisando suas exig  nc
24. edidos  Voc   especifica uma condi    o de  associa    o para comparar valores nos campos em comum e  geralmente  retornar os que s  o  iguais  No exemplo  tanto Cliente quanto Pedidos possuem um campo ID do Cliente     k Para definir condi    es de associa    o em uma visualiza    o   e No Gerenciador de projetos  crie ou modifique uma visualiza    o e  em seguida  adicione as  tabelas desejadas no Criador de visualiza    es       Ou      Abra um banco de dados e utilize o comando CREATE SQL VIEW  adicionando nomes de tabelas  e condi    es de associa    o    cl  usula FROM     Associa    es internas especificadas no Criador de visualiza    es e exibidas na instru    o  SELECT   SQL       gg  Criador de visualiza    es   Visual4    a          x               g    f E                         cust id order id line no   company cust id order id   contact emp id product id   title to name unit price  address to address quantity E          a    Filtro   Ordenar por   Agrupar por   Crit  rios de atualiza    o   Miscel  nea      Tipo Nome do campo N  o Crit  rios Valor L  gica                     Inner Joi Customer cust id Orders cust id      Inner Joi Orders order id   Orditems order ic    E           Ea Visual4  Somente leitura        FROM testdata customer INNER JOIN testdata orders   INNER JOIN testdata orditems    ON Orders order id   Orditems order id    ON Customer cust id   Orders cust id    Ep    O c  digo a seguir cria a nova visualiza    o conforme descrito no exemplo ac
25. eguida  pesquisar Customer remote view  O registro de clientes ser   exibido na janela Pesquisar     Janela Pesquisar exibindo o registro de cust id ALFKI       Obere Str  57   Berlin       Utilizando uma sequ  ncia entre aspas como um par  metro de visualiza    o  voc   certifica se de que  o Visual FoxPro solicitar   sempre ao usu  rio o valor do par  metro     Abrindo v  rias inst  ncias de uma visualiza    o    Voc   pode abrir v  rias inst  ncias de uma visualiza    o em   reas de trabalho separadas  assim como  abrir uma tabela em mais de uma   rea de trabalho  Ao contr  rio das tabelas  as visualiza    es    carregam  como padr  o  um novo conjunto de dados sempre que voc   utiliza a visualiza    o     k Para abrir uma visualiza    o em v  rias   reas de trabalho    e No Gerenciador de projetos  selecione o nome da visualiza    o e  em seguida  Pesquisar para  exibir a visualiza    o em uma janela Pesquisar  Repita o processo para abrir a visualiza    o em  outras   reas de trabalho         Ou   e Najanela Sess  o de dados  selecione Abrir e  em seguida  o nome da visualiza    o  Repita este  processo para abrir a visualiza    o em outras   reas de trabalho       Ou   e Acesse a visualiza    o atrav  s da linguagem de programa    o com o comando USE     Quando acessa a visualiza    o atrav  s da linguagem de programa    o com o comando USE  voc    pode optar por abrir uma outra inst  ncia da visualiza    o sem consultar novamente a fonte de dados   Isto    particularme
26. em um banco de dados  utilize o Gerenciador de projetos ou o   comando DISPLAY CONNECTIONS    k Para determinar conex  es existentes   e No Gerenciador de projetos  selecione um banco de dados e  em seguida  selecione Conex  es     Ou     e Utilize o comando DISPLAY CONNECTIONS    Por exemplo  o c  digo abaixo exibe as conex  es no banco de dados testdata        OPEN DATABASE testdata  DISPLAY CONNECTIONS          Criando uma visualiza    o remota    Dispondo de uma fonte de dados ou de uma conex  o definida  voc   poder   criar uma visualiza    o  remota utilizando o Gerenciador de projetos ou a linguagem  Uma visualiza    o remota     semelhante a uma visualiza    o local  mas  ao defini la  voc   adiciona um nome de fonte de dados  ou conex  o  A instru    o SQL da visualiza    o remota utiliza o dialeto do servidor nativo     k Para criar uma visualiza    o remota  e No Gerenciador de projetos  selecione um banco de dados  selecione Visualiza    es remotas  e  em seguida  selecione Novo para abrir o Criador de visualiza    es     Ou    e Utilize o comando CREATE SQL VIEW com a cl  usula REMOTE e ou CONNECTION   Se voc   utilizar a cl  usula CONNECTION com o comando CREATE SQL VIEW  n  o ser    necess  rio incluir a palavra chave REMOTE  O Visual FoxPro identifica a visualiza    o como remota  atrav  s da presen  a da palavra chave CONNECTION  Por exemplo  se a tabela products do banco de    dados Testdata estiver em um servidor remoto  o c  digo abaixo criar   uma visuali
27. em uma visualiza    o de v  rios n  veis  as atualiza    es descem um  n  vel  at   a visualiza    o na qual a visualiza    o de n  vel superior est   baseada  Se quiser atualizar as  tabelas base com base nas quais uma visualiza    o de v  rios n  veis    constru  da  voc   deve emitir  um comando TABLEUPDATE para cada visualiza    o na estrutura                                                     Trabalhando com dados off line    Voc   talvez queira exibir  reunir ou modificar dados independentemente do banco de dados no  computador central  Com a utiliza    o dos recursos de visualiza    o off line no Visual FoxPro  voc    pode utilizar as visualiza    es para se conectar a um banco de dados no computador central e criar  um subconjunto de dados para uso off line  Em seguida  trabalhando off line  voc   pode utilizar a    visualiza    o diretamente ou atrav  s do aplicativo criado  Quando tiver terminado  voc   poder    carregar as altera    es armazenadas na visualiza    o para o banco de dados no computador central     Alguns cen  rios onde as visualiza    es off line s  o   teis incluem     e Uma situa    o de armazenamento de dados  onde os grandes bancos de dados s  o mantidos  centralmente em servidores MIS  Se voc   s   estiver interessado em dados relativos ao  departamento de Marketing  por exemplo  poder   criar uma visualiza    o incluindo apenas os  dados relevantes  Em seguida  poder   colocar os dados off line  permitir que v  rios usu  rios no  departamento 
28. emp cust view company    Field        UpdateName     customer   DBSETPROP   emp cust view emp id    Field     Define uma chave   nica de  KeyField     T    campo   nico para a tabela  Funcion  rio    DBSETPROP   emp cust view cust id    Field      Define uma chave   nica de    KeyField    T   dois campos para a tabela  DBSETPROP   emp cust view emp idl    Field     Cliente     KeyField    T    DBSETPROP   emp cust view phone    Field     Define os campos    UpdatableField    T   atualiz  veis  Normalmente   DBSETPROP    emp cust view  contact    Field  rr campos chave n  o s  o Updatabl eField   po a Tas   DBSETPROP   emp cust view company    Field      atualiz  veis   UpdatableField    T    DBSETPROP   emp cust view    View      Ativa a funcionalidade de    SendUpdates    T   atualiza    o   GO TOP Modifica dados na  REPLACE employee phone WITH   206 111 2222  visualiza    o   REPLACE customer contact WITH  John Doe   TABLEUPDATE                      Grava as altera    es  atualizando as tabelas base  Cliente e Funcion  rio     Personalizando visualiza    es com o dicion  rio de dados    Visto que as visualiza    es s  o armazenadas em um banco de dados  voc   pode criar     e Legendas    e Coment  rios para a visualiza    o e campos da visualiza    o    Valores padr  o para campos da visualiza    o    e Regras de linhas e de campos e mensagens de erro das regras   Os recursos do dicion  rio de dados para visualiza    es s  o funcionalmente semelhantes aos seus  corresponden
29. enu Consulta       Ou    e Utilize o comando CREATE SQL VIEW com o s  mbolo         e um par  metro     O par  metro fornecido    avaliado como uma express  o do Visual FoxPro e o valor    enviado como  parte da instru    o SQL da visualiza    o  Em caso de erro na avalia    o  o Visual FoxPro exibe um  aviso solicitando o valor do par  metro  Por exemplo  se a tabela cliente do banco de dados Testdata  estiver em um servidor remoto  o c  digo abaixo criar   uma visualiza    o remota com par  metros que  limita a visualiza    o aos clientes cujo pa  s corresponde ao valor fornecido para o par  metro Country        OPEN DATABASE testdata  CREATE SQL VIEW customer remote view    CONNECTION remote 01   AS SELECT   FROM customer    WHERE customer country    cCountry  Voc   pode fornecer um valor para  cCountry atrav  s da linguagem de programa    o quando utilizar a  visualiza    o  Por exemplo  voc   pode digitar o c  digo abaixo                                                  cCountry    Su  cia   USE Testdata  customer remote view IN O  BROWSE       O Visual FoxPro exibir   os registros de clientes de empresas suecas na janela Pesquisar  Customer remote view     Visualiza    o exibindo registros cujo pa  s corresponde ao par  metro fornecido    pm Visualiza    o remota de customer  Ioj x     Contact       Dica Se o par  metro for uma express  o  coloque a express  o de par  metros entre par  nteses   Isto permite que a express  o inteira seja avaliada como parte do par  metro
30. er ir para locais de cliente para atualizar contas  adicionar clientes e registrar as  novas vendas  voc   precisar   das informa    es do cliente assim como dos pedidos atuais e das  descri    es do produto on line  Voc   pode ter uma visualiza    o denominada customerinfo que  combina informa    es das tabelas Clientes  Pedidos e Orderltems  Para criar a visualiza    o  utilize  este c  digo        CREATEOFFLINE   customerinfo    k Para criar uma visualiza    o off line atrav  s da linguagem de programa    o  e Utilize o comando CREATE SQL VIEW  seguido pelo comando CREATEOFFLINE       Por exemplo  o c  digo a seguir cria uma visualiza    o que exibe dados das tabelas Products e  Inventory a partir do banco de dados on line  Como nenhum crit  rio de atualiza    o est    especificado  essa visualiza    o    somente para leitura                    CREATE SOL VIEW showproducts    CONNECTION dsource    AS SELECT   FROM Products INNER JOIN Inventory    ON Products ProductID   Inventory ProductID    CREATEOFFLINE   showproducts      Exibindo e modificando dados off line    Depois que voc   criar a visualiza    o para seus dados off line  poder   us   la como qualquer  visualiza    o do seu aplicativo  poder   adicionar  alterar e excluir registros  V  rios usu  rios podem  acessar a visualiza    o off line ao mesmo tempo utilizando o mesmo banco de dados em modo  compartilhado  Caso voc   n  o queira manter as altera    es  poder   reverter as informa    es para  refletir as info
31. iar uma visualiza    o utilizando as tabelas cliente   pedidos     funcion  rio e especificar condi    es de associa    o interna nos campos que elas  possuem em comum  tanto cliente quanto pedidos possuem um campo ID do cliente  tanto  pedidos quanto funcion  rio possuem um campo ID do funcion  rio     Essa visualiza    o possui a instru    o SQL base a seguir           OPEN DATABASE testdata  CREATE SQL VIEW cust orders emp view AS    SELECT   FROM testdata customer    INNER JOIN testdatalorders    ON customer cust id   orders cust id    INNER JOIN testdata lemployee    ON orders emp id   employee emp id                                     Utilizando associa    es na cl  usula WHERE    Voc   pode especificar suas condi    es de associa    o na cl  usula WHERE  no entanto  n  o     poss  vel especificar um tipo de associa    o igual   s associa    es na cl  usula FROM  Para  visualiza    es remotas  a cl  usula de associa    o sempre aparece na cl  usula WHERE     O c  digo a seguir cria a mesma visualiza    o que o exemplo anterior  utilizando a cl  usula WHERE  para especificar as condi    es de associa    o para a visualiza    o        OPEN DATABASE testdata   CREATE SOL VIEW cust orders emp view AS    SELECT   FROM testdata customer     testdata lorders  testdata employee    WHERE customer cust id   orders cust id    AND orders emp id   employee emp id    Acessando dados remotos    Quando quiser utilizar dados localizados em um servidor remoto  crie uma visualiza    o re
32. ias de dados para  determinar o conte  do da visualiza    o necess  ria     Observa    o Utilize o programa ODBC Administrator para instalar as fontes de dados em uma  m  quina  Voc   pode acessar o programa ODBC Administrator do grupo de programas do Visual  FoxPro ou do Painel de Controle     Criando visualiza    es off line    Da mesma forma que com os dados on line  analise suas exig  ncias antes de criar visualiza    es  off line para determinar as visualiza    es necess  rias no banco de dados off line  Depois de saber  qual o subconjunto de dados a ser utilizado off line  voc   pode come  ar com uma visualiza    o  existente ou criar uma nova visualiza    o  Se houver uma visualiza    o que retorne os registros que  voc   deseja utilizar off line  voc   poder   us   la ou criar uma atrav  s da linguagem de programa    o   A visualiza    o colocada off line    armazenada em um arquivo  DBF no recipiente do banco de dados  off line     Observa    o Se voc   planeja modificar dados em uma visualiza    o off line  certifique se de tornar  a visualiza    o atualiz  vel antes de coloc   la off line  Depois que a visualiza    o estiver off line  voc    s   pode definir suas propriedades de atualiza    o atrav  s da linguagem de programa    o  n  o     poss  vel modificar uma visualiza    o off line no Criador de visualiza    es     k Para utilizar uma visualiza    o existente off line    e Utilize a fun    o CREATEOFFLINE    e o nome da visualiza    o     Por exemplo  se quis
33. ilizando o  Gerenciador de projetos ou a linguagem  Se quiser modificar a sequ  ncia SQL da visualiza    o  atrav  s da linguagem de programa    o  ser   preciso criar uma nova visualiza    o  Em seguida  voc    pode salvar a nova defini    o de visualiza    o e sobrescrever o nome da visualiza    o existente  Para  modificar as propriedades da visualiza    o  consulte Definindo propriedades de visualiza    o e  conex  o posteriormente neste cap  tulo                                   Dica No Criador de visualiza    es     poss  vel abrir uma visualiza    o existente e copiar uma  sequ  ncia SQL somente para leitura como um atalho para criar uma nova visualiza    o atrav  s da  linguagem de programa    o    k Para modificar uma visualiza    o no Criador de visualiza    es    e No Gerenciador de projetos  selecione o nome da visualiza    o e  em seguida  selecione  Modificar para abrir o Criador de visualiza    es         Ou      e Abra um banco de dados e utilize o comando MODIFY VIEW com o nome da visualiza    o     No Criador de visualiza    es  voc   pode utilizar o menu Consulta ou a Barra de ferramentas  criador de visualiza    es para adicionar uma nova tabela    visualiza    o  O c  digo abaixo exibe  product view no Criador de visualiza    es        OPEN DATABASE testdata  MODIFY VIEW product view    Renomeando uma visualiza    o       poss  vel renomear uma visualiza    o no Gerenciador de projetos ou com o comando RENAME  VIEW              k Para alterar o nome de u
34. ima  utilizando a cl  usula  FROM para especificar as condi    es de associa    o para a visualiza    o               OPEN DATABASE testdata   CREATE SOL VIEW cust orders view AS     SELECT   FROM testdata customer    INNER JOIN testdata lorders                                          ON customer cust id   orders cust id  A condi    o de associa    o possui v  rios aspectos  o tipo de associa    o  os campos para fazer a  associa    o e o operador para comparar os campos  Neste caso  associa    o interna  somente as  linhas da tabela cliente que correspondam a um ou mais registros na tabela pedidos ser  o  inclu  das no resultado     Para alterar os resultados da visualiza    o e atender   s suas necessidades espec  ficas  voc   pode  determinar    e Campos na associa    o   e Operadores de compara    o entre os campos   e Uma sequ  ncia de associa    es  se voc   tiver duas tabelas na sua visualiza    o   e O tipo da associa    o    A especifica    o das associa    es nos campos em vez de chaves prim  rias e estrangeiras pode ser    til em v  rias inst  ncias  mas n  o    utilizada na maioria das visualiza    es     Alterando o operador de compara    o  voc   pode controlar quais registros s  o comparados e  retornados de forma semelhante a um filtro  Por exemplo  se estiver utilizando um campo de data na  associa    o  voc   poder   utilizar o operador de compara    o para incluir apenas registros antes ou  depois de determinada data     Para obter maiores informa    es so
35. iza    es nas quais a visualiza    o de n  vel superior est   baseada e todas as  tabelas base do Visual FoxPro utilizadas nas visualiza    es de n  vel superior ou intermedi  rio s  o  exibidas na janela Sess  o de dados  As tabelas remotas n  o s  o exibidas na janela Sess  o de  Dados     Combinando dados locais e remotos em uma visualiza    o       poss  vel combinar dados remotos e locais em uma visualiza    o  criando uma nova visualiza    o  local baseada em uma visualiza    o local e em uma visualiza    o remota     k Para criar uma visualiza    o que combine dados remotos e locais    e No Gerenciador de projetos  selecione um banco de dados  escolha Visualiza    es locais e  selecione Novo para abrir o Criador de visualiza    es  Adicione qualquer combina    o de  tabelas  visualiza    es locais e visualiza    es remotas    sua visualiza    o     Ou pes   e Utilize o comando CREATE SQL VIEW     Por exemplo  para criar uma visualiza    o local que combine informa    es da tabela local Funcion  rio  e da tabela remota Pedidos  voc   pode utilizar o c  digo abaixo        OPEN DATABASE testdata   CREATE SOL VIEW remote orders view     CONNECTION remote 01     AS SELECT   FROM orders   CREATE SOL VIEW local employee remote orders view    AS SELECT   FROM testdata local employee view      testdata remote orders view    WHERE local employee view emp id       remote orders view emp id    Atualizando dados locais e remotos em uma visualiza    o    Quando voc   atualiza dados 
36. linhas do  conjunto de resultados     k Para controlar o n  mero de linhas transferidas para uma visualiza    o    e No menu Ferramentas  selecione Op    es e selecione a guia Dados remotos  Na   rea Padr  es  de visualiza    o remota  ao lado da caixa M  ximo de registros a carregar  desmarque Todos   digite um valor na caixa de texto e  em seguida  selecione OK     Ou     e Utilize a propriedade MaxRecords da fun    o DBSETPROP   ou CURSORSETPROP      Por exemplo  o c  digo abaixo altera a defini    o de visualiza    o para limitar em 50 o n  mero de    linhas transferidas para a visualiza    o  independente do tamanho do conjunto de resultados  constru  do com base na fonte de dados remota        OPEN DATABASE testdata   USE VIEW remote customer view   2DBSETPROP   Remote customer view      View    MaxRecords    50    E poss  vel utilizar a fun    o CURSORSETPROP   para definir o limite MaxRecords para uma                      visualiza    o ativa     Dica N  o    poss  vel utilizar a propriedade MaxRecords para parar uma consulta disparada  pois a  propriedade MaxRecords n  o controla a constru    o do conjunto de resultados  Utilize a propriedade  QueryTimeOut para controlar o tempo de execu    o na fonte de dados remota     Otimizando filtros e associa    es    Para tomar decis  es de otimiza    o para uma visualiza    o ou consulta  voc   precisar   conhecer o  plano de execu    o  a ordem em que as associa    es e cl  usulas de filtro ser  o avaliadas  Utilizando  a f
37. liza    es    Depois de criar uma visualiza    o  voc   poder   utiliz   la para exibir e atualizar dados  Tamb  m     poss  vel modificar as propriedades de uma visualiza    o para melhorar o seu desempenho  Voc    trata uma visualiza    o como uma tabela     e Abre a visualiza    o com o comando USE e inclui o nome da visualiza    o   e Fecha a visualiza    o com o comando USE     Exibe registros da visualiza    o em uma janela Pesquisar     Exibe aliases de visualiza    es abertas na janela Sess  o de dados     Utiliza a visualiza    o como uma fonte de dados  como em um texto ou em um controle de grade   formul  rio ou relat  rio        poss  vel utilizar uma visualiza    o atrav  s do Gerenciador de projetos ou da linguagem        k Para utilizar uma visualiza    o    e No Gerenciador de projetos  selecione um banco de dados  escolha o nome da visualiza    o e   em seguida  selecione Pesquisar para exibir a visualiza    o em uma janela Pesquisar       Ou    e Acesse a visualiza    o atrav  s da linguagem de programa    o com o comando USE   O c  digo abaixo exibe product view em uma janela Pesquisar     OPEN DATABASE testdata  USE product view  BROWSE  Quando    utilizada  a visualiza    o    aberta como um cursor em sua pr  pria   rea de trabalho  Se a  visualiza    o estiver baseada em tabelas locais  o Visual FoxPro tamb  m abrir   as tabelas base em    reas de trabalho separadas  As tabelas base de uma visualiza    o s  o as tabelas acessadas pela  instru    o SELECT
38. m aplicativo cliente servidor     Voc   pode modificar a defini    o da propriedade DataType para o campo de visualiza    o remota com  a fun    o DBSETPROP   conforme indicado nesta tabela     Tipo de dado ODBC do Tipos de dados poss  veis no cursor do  campo remoto Visual FoxPro    SQL CHAR  SQL VARCHAR  SQL LONGVARCHAR    SQL BINARY Memo  padr  o   tamb  m Caractere  Geral       Caractere ou Memo   padr  o   tamb  m  Geral ou Figura       SQL VARBINARY ou Figura  SQL LONGVARBINARY                            SQL DECIMAL Num  rico ou Moeda   padr  o   tamb  m   SQL NUMERIC Caractere  Inteiro ou Duplo   SQL BIT L  gico  padr  o   tamb  m Caractere   SQL TINYINT Inteiro  padr  o   tamb  m Caractere    SQL SMALLINT Num  rico  Duplo ou Moeda   SQL INTEGER   SQL BIGINT Caractere  padr  o   tamb  m Inteiro   Num  rico  Duplo ou Moeda   SQL REAL Duplo  padr  o   o n  mero de casas   SQL FLOAT decimais    o valor de SET DECIMALS no   SQL DOUBLE Visual FoxPro  tamb  m Caractere  Inteiro   Num  rico ou Moeda   SQL DATE Data  padr  o   tamb  m Caractere ou  DataHora   SQL TIME DataHora   padr  o   tamb  m Caractere   SQL TIMESTAMP DataHora   padr  o   tamb  m Caractere ou  Data       1 Se a largura do campo ODBC for menor do que o valor da propriedade de Cursor UseMemosSize  este se tornar   um campo  Caractere no Cursor do Visual FoxPro  caso contr  rio  ser   um campo Memo     2 Se o campo do servidor contiver um tipo de dado de dinheiro  este se tornar   um tipo de dado Moeda no Vis
39. ma visualiza    o    e No Gerenciador de projetos  selecione um banco de dados  em seguida  o nome da visualiza    o  e  em seguida  selecione Renomear arquivo no menu Projeto         Ou      e Utilize o comando RENAME VIEW   Por exemplo  o c  digo abaixo renomeia product view para products all view                    RENAME VIEW product view TO products all view  O banco de dados que cont  m a visualiza    o deve estar aberto para que voc   possa renomear a  visualiza    o     Excluindo uma visualiza    o       poss  vel excluir uma defini    o de visualiza    o de um banco de dados utilizando o Gerenciador de  projetos ou o comando DELETE VIEW  Antes de excluir a visualiza    o  certifique se de que o  banco de dados que cont  m a visualiza    o est   aberto e definido como o banco de dados atual     k Para excluir uma visualiza    o    e No Gerenciador de projetos  selecione um banco de dados  em seguida  o nome da visualiza    o  e  em seguida  selecione Remover     Ou     e Utilize o comando DELETE VIEW ou DROP VIEW    Por exemplo  o c  digo abaixo exclui product view e customer view do banco de dados    DELETE VIEW product view   DROP VIEW customer view    Observa    o Esses comandos possuem o mesmo efeito  DROP VIEW    a sintaxe ANSI SQL  padr  o para excluir uma visualiza    o SQL                       Criando uma visualiza    o de v  rias tabelas    Para acessar informa    es relacionadas armazenadas em tabelas separadas  voc   pode criar uma  visualiza    o e adicio
40. maticamente para  o usu  rio  Por exemplo  voc   pode adicionar um controle Grid a um formul  rio de entrada de  pedidos baseado em uma visualiza    o remota de uma tabela de itens da fila de pedidos  O campo  order id    o campo chave que mapeia cada linha da grade para a linha correspondente na tabela  remota de itens da fila de pedidos  Visto que a order id para cada linha da grade ser   a mesma para  um pedido  voc   pode utilizar um valor padr  o para reduzir pressionamentos de teclas  preenchendo  o campo order id automaticamente                       Dica Caso uma das regras comerciais do aplicativo exijam que um campo contenha uma entrada  se  voc   fornecer um valor padr  o  ajudar   a garantir que uma regra espec  fica em n  vel de campo ou  de registro n  o seja violada     Criando regras em linhas e campos da visualiza    o  Voc   pode criar vers  es locais de regras da fonte de dados remota para     e Reduzir o tempo de resposta    e Reduzir o impacto nos recursos da rede    e Testar os dados antes de envi   los para a fonte de dados remota   e Evitar o envio de dados com erro para a fonte de dados remota        Visual FoxPro n  o compara as regras criadas localmente com as regras remotas  Voc   deve  criar regras aceit  veis para a fonte de dados  Caso as regras remotas sejam alteradas  voc    deve alterar as regras locais de acordo       Para criar uma regra em uma linha ou campo da Visualiza    o    e Na guia Campos no Criador de visualiza    es  selecione um 
41. mota  Para  tal  voc   deve primeiro conectar se a uma fonte de dados                                                  Conectando se a uma fonte de dados remota    Uma fonte de dados remota    normalmente um servidor remoto para o qual est   instalado um driver  de ODBC e est   configurado um nome de fonte de dados ODBC  Para obter uma fonte de dados     v  lida  certifique se de que o ODBC est   instalado  No Visual FoxPro  voc   pode definir uma fonte  de dados e conex  es     Para obter maiores informa    es sobre como configurar uma fonte de dados ODBC  consulte o  cap  tulo 1  Instalando o Visual FoxPro  no Guia de Instala    o e Indice Principal     Definindo uma conex  o    No Visual FoxPro  voc   pode criar e armazenar uma conex  o definida em um banco de dados      qual voc   poder   referir se pelo nome quando criar uma visualiza    o remota  Voc   tamb  m pode  definir propriedades na conex  o definida para otimizar a comunica    o entre o Visual FoxPro e a  fonte de dados remota  Quando voc   ativa uma visualiza    o remota  a conex  o da visualiza    o  passa a ser o canal para a fonte de dados remota        k Para criar uma conex  o definida    e No Gerenciador de projetos  selecione Conex  es e  em seguida  selecione Novo para abrir o  Criador de conex  es         Ou       e Abra um banco de dados e utilize o comando CREATE CONNECTION para abrir o Criador de  conex  es       Ou       e Utilize o comando CREATE CONNECTION com um nome de conex  o     Por exemplo 
42. nar duas ou mais tabelas  ou modificar uma visualiza    o existente adicionando  tabelas  Para adicionar as tabelas  voc   pode utilizar o Criador de visualiza    es ou o comando  CREATE SQL VIEW  Depois de adicionar as tabelas  voc   pode expandir o seu controle dos  resultados da visualiza    o  utilizando a condi    o de associa    o definida entre as tabelas     k Para criar uma visualiza    o de v  rias tabelas   e No Gerenciador de projetos  crie uma visualiza    o e adicione as tabelas que voc   deseja no  Criador de visualiza    es     Ou     e Abra um banco de dados e utilize o comando CREATE SQL VIEW   adicionando nomes de tabelas     cl  usula FROM e   s condi    es de associa    o     A simples adi    o das tabelas ao comando CREATE SQL VIEW gera um produto cruzado  Voc    precisa especificar uma condi    o de associa    o na cl  usula FROM ou WHERE da instru    o para  fazer a correspond  ncia de registros entre tabelas  Se houver relacionamentos permanentes entre  as tabelas  estes ser  o automaticamente utilizados como condi    es de associa    o     Definindo e modificando condi    es de associa    o    Geralmente  para definir uma condi    o de associa    o  voc   utiliza os relacionamentos estabelecidos  nos campos chave prim  rio e estrangeiro entre as tabelas  Por exemplo  voc   pode querer encontrar  informa    es sobre pedidos  incluindo informa    es sobre o cliente que fez o pedido  Voc   pode criar  uma visualiza    o utilizando as tabelas Cliente e P
43. njunto de resultados grande poder   levar muito  tempo e reduzir o desempenho da visualiza    o     Para obter maiores informa    es sobre como criar   ndices  consulte o cap  tulo 7  Trabalhando com  tabelas  ou consulte INDEX     Criando relacionamentos tempor  rios em visualiza    es       poss  vel criar relacionamentos tempor  rios entre   ndices de visualiza    o ou entre   ndices de  visualiza    o e   ndices de tabela com o comando SET RELATION     Para obter um melhor desempenho quando utilizar o comando SET RELATION para relacionar uma  visualiza    o e uma tabela  fa  a a visualiza    o do objeto pai e da tabela objeto filho no  relacionamento  Este procedimento    mais eficiente porque o   ndice estrutural da tabela    mantido  de forma constante     rapidamente acessado e pode ser utilizado pelo ambiente de dados para  ordenar os registros  O   ndice na visualiza    o deve ser reconstru  do toda vez que a visualiza    o for  ativada e demorar mais do que o   ndice na tabela  Um   ndice em uma visualiza    o n  o    parte da  defini    o da visualiza    o  por isso  se voc   utilizar um ambiente de dados  a visualiza    o n  o poder    ser o objeto filho  pois o   ndice do objeto filho deve fazer parte da defini    o  o que n  o    suportado  por visualiza    es     Definindo propriedades de visualiza    o e conex  o    Ao ser criada  a visualiza    o herda defini    es de propriedades  como UpdateType e UseMemosSize     do cursor do ambiente  ou cursor 0 da sess 
44. nte    associada primeiro com a tabela Pedidos  O resultado desta associa    o    em  seguida associado com a tabela OrdItems        SELECT        FROM FORCE Customers     INNER JOIN Orders    ON Orders Company ID   Customers Company ID     INNER JOIN OrItems    ON OrdItems Order NO   Orders Order NO   Neste exemplo  a associa    o entre par  nteses para as tabelas Pedidos e OrdItems    avaliada  primeiro  O resultado desta associa    o    utilizado na avalia    o da associa    o com Customers                       SELECT       FROM FORCE Customers     INNER JOIN  orders INNER JOIN OrdItems    ON OrdItems 0Order No   Orders Order No     ON Orders Company ID   Customers Company ID    Compartilhando conex  es para v  rias visualiza    es remotas    Voc   pode utilizar uma conex  o ativa como canal de informa    es para v  rias visualiza    es remotas   compartilhando uma conex  o  Ao compartilhar uma conex  o ativa  voc                         e Reduz o n  mero de conex  es em um servidor remoto    e Reduz os custos de conex  es com servidores que cobram por conex  o    Para compartilhar conex  es  estabele  a a defini    o de visualiza    o de modo que utilize uma  conex  o compartilhada ao ser ativada  Quando a visualiza    o    utilizada  o Visual FoxPro  conecta se    fonte de dados remota utilizando a conex  o compartilhada existente  se houver uma    Caso uma conex  o compartilhada n  o esteja em uso  quando a visualiza    o for aberta  o Visual  FoxPro criar   uma conex 
45. nte   til quando voc   quer abrir uma visualiza    o remota em v  rias   reas de  trabalho sem esperar a transfer  ncia dos dados de uma fonte de dados remota     k Para utilizar novamente uma visualiza    o sem transferir dados  e Utilize a cl  usula NOREQUERY com o comando USE        Ou   e Utilize a cl  usula AGAIN com o comando USE     O c  digo abaixo utiliza a cl  usula NOREQUERY para exibir o cursor carregado da primeira inst  ncia  de product_remote_view em duas janelas Pesquisar sem consultar novamente a fonte de dados  remota        OPEN DATABASE testdata   CREATE SOL VIEW product remote view    CONNECTION remote 01     AS SELECT   FROM products   E product remote view   SE  ECT O   product remote view NOREQUERY  BROWSE  E poss  vel especificar um n  mero de sess  o com a cl  usula NOREQUERY  Se n  o for especificado  um n  mero de sess  o  o Visual FoxPro ir   procurar em todas as sess  es  Caso um conjunto aberto  seja localizado para a visualiza    o  um cursor ser   novamente aberto no mesmo conjunto de  resultados  Caso n  o seja localizado nenhum conjunto de resultados aberto  ser   carregado um  novo conjunto de resultados para a visualiza    o  Da mesma forma que com tabelas  se a  visualiza    o n  o for localizada  ser   aberto um novo cursor de visualiza    o                                                           Onto    Se voc   quiser que o Visual FoxPro procure um conjunto de resultados aberto para a visualiza    o  apenas na sess  o atual  poder   
46. os em  CRIAR CONEX  O CRIAR VISUALIZA    O CRIAR CONEX  O  ou  CRIAR VISUALIZA    O  Banco de dados  Selecione o  nome da  Defini    o da  conexioem  Defini    o da  conex  o   CRIAR  is ualiza    o  VISUALIZA    O    UTILZAR  VISUALIZA    O  Visualiza    o e conex  o da  visualiza    o LEGENDA  Heran  a de  propriedade    Ativar aaa Ativar  conex  o    conex  o de cursor    visualiza    o       Comandos          Se a visualiza    o estiver baseada emur fonte de dados ODBC  as propriedades de conev  o ativa  ser  o herdadas da defiri    o da cones  o        Se a visualiza    o estiver baseada erur fonte de dados  as propriedades de cones  o diva ser  o  herdadas da defini    o da conex  o no banco de dados        s propriedades do cursor de visualiza    o ativa s  o herdadas da defini    o da visualiza    o no banco  de dados     Alterando tipos de dados padr  o ao transferir visualiza    es remotas    Quando uma visualiza    o    criada  a propriedade DataType para todos os campos na visualiza    o     definida para um valor padr  o  O valor    a letra do tipo de dado  D  G     L  M  P  T  Y  para tipos de  dados de tamanho fixo e a letra seguida por par  metros de precis  o e escala entre par  nteses  B d    C n   N n d   para tipos de tamanho vari  vel  Essa propriedade    somente leitura para visualiza    es  locais  Para obter uma lista dos tipos de dados padr  o  consulte    Descarregando e Carregando  Dados de Visualiza    es Remotas    no cap  tulo 21  Implementando u
47. reparam uma    visualiza    o de v  rias tabelas para ser atualiz  vel  mesmo quando ela    criada atrav  s da linguagem  de programa    o  O exemplo de c  digo a seguir cria e define propriedades de maneira expl  cita para  atualizar uma visualiza    o de duas tabelas  Voc   pode utilizar este exemplo como um guia para  personalizar defini    es de propriedades de atualiza    o em uma visualiza    o     Atualizando v  rias tabelas em uma visualiza    o       C  digo    Coment  rios          CREATE SOL VIEW emp cust view AS    SELECT employee emp id     mployee phone  customer cust id      customer emp id  customer contact     customer company                                    Cria uma visualiza    o que  acessa campos de duas  tabelas                                                                                                                                                                    FROM employee  customer    WHERE employee emp id   customer emp id  DBSETPROP   emp cust view    View    Tables   Define as tabelas que   employee  customer   dever  o ser atualizadas   DBSETPROP   emp cust view emp id    Field     Define nomes de atualiza    o   UpdateName    emp  DBSETPROP   emp cust view phone    Field        UpdateName    emp  DBSETPROP   emp cust view cust id     Field        UpdateName     customer   DBSETPROP   emp cust view emp idl    Field       UpdateName     customer   DBSETPROP   emp cust view contact     Field       UpdateName     customer   DBSETPROP   
48. rma    es originais                                      Utilizando dados off line    Utilizando a visualiza    o off line  voc   pode exibir e atualizar dados como na forma on line com os  mesmos formul  rios  relat  rios ou aplicativos  Por exemplo  o c  digo a seguir abre a visualiza    o  Showproducts        USE Showproducts   Dica Se n  o estiver obtendo o subconjunto de dados esperado  verifique as defini    es de  otimiza    o para a visualiza    o remota  Se voc   definir a propriedade MaxRecords utilizando a  fun    o DBSETPROP    apenas esses registros aparecer  o nas suas visualiza    es off line  No  entanto  se voc   incluir um campo Memo na lista de campo da sua visualiza    o  ele ser    automaticamente inclu  do no conjunto de resultados mesmo se FetchMemo for definido como falso      F       Administrando dados off line    Em alguns casos     especialmente em ambientes de v  rios usu  rios onde os dados s  o  modificados por v  rias pessoas     voc   pode querer examinar as altera    es feitas    visualiza    o  off line antes de gravar as altera    es para o banco de dados fonte  Com o comando USE e a  cl  usula ADMIN  voc   pode ver todas as altera    es gravadas em uma visualiza    o desde que foi  colocada off line  Em seguida  pode reverter de forma seletiva as altera    es feitas sem estar  conectado    fonte de dados  Por exemplo  o c  digo a seguir abre a visualiza    o Showproducts no  modo administrador     USE Showproducts ADMIN    Atualizando dado
49. ro carrega progressivamente por vez do  banco de dados no computador central  utilizando a propriedade FetchSize da visualiza    o e do  cursor de visualiza    o ativo  Utilize DBSETPROP   e CURSORSETPROP   para definir estas  propriedades     Controlando a carga de memo       poss  vel utilizar o recurso de carga de memo retardada para acelerar a recupera    o dos dados da  visualiza    o  Quando voc   seleciona carga de memo retardada  o Visual FoxPro n  o recupera o  conte  do de um campo Memo at   voc   abrir e exibir o campo  Visto que o Visual FoxPro precisa do  nome da tabela e do campo chave para localizar uma linha na fonte de dados remota  voc   deve  definir a propriedade UpdateName ou UpdatableFieldList  a propriedade KeyField ou KeyFieldList e a  propriedade Tables para que a carga de memo retardada funcione  No entanto  n  o    necess  rio  ativar as propriedades SendUpdates ou Updatable para que a carga de memo retardada funcione     Definindo o n  mero m  ximo de registros transferidos    Voc   pode controlar o volume de dados transferidos quando uma visualiza    o    aberta definindo a  propriedade MaxRecords  Quando o Visual FoxPro envia uma instru    o SQL para a fonte de dados  para criar uma visualiza    o  a fonte de dados constr  i e armazena um conjunto de resultados  A  propriedade MaxRecords especifica o n  mero m  ximo de linhas carregadas do conjunto de  resultados remoto para a visualiza    o  A defini    o padr  o       1  que transfere todas as 
50. s on line    Ao terminar de trabalhar off line  voc   pode atualizar os dados no servidor utilizando as mesmas  transa    es de atualiza    o de tabela que s  o normalmente utilizadas com dados on line  Ao trabalhar  com dados remotos  lembre se das dicas a seguir        e Para atualiza    es de um   nico registro  utilize transa    es autom  ticas   e Para atualiza    es em lote  utilize transa    es manuais     e Conforme necess  rio  inclua c  digo para detectar conflitos de atualiza    o  crie um registro de  conflitos e resolva os     Antes de processar suas atualiza    es  voc   precisa utilizar o comando USE e a palavra chave  ONLINE para reconectar se ao banco de dados no computador central  Depois de emitir o comando   o Visual FoxPro tenta localizar o banco de dados no computador central utilizando as informa    es de  fonte de dados armazenadas na visualiza    o  Depois que a conex  o    estabelecida  voc   pode  utilizar TABLEUPATE    para processar as atualiza    es armazenadas nos dados off line     Para certificar se de que as informa    es de conex  o est  o corretas independentemente da  localiza    o do computador central ou das tabelas de visualiza    o  voc   precisa utilizar a sintaxe de  sequ  ncia de conex  o em vez de uma conex  o definida     Atualizando lotes de registros em tabelas locais    Para processar um lote de altera    es em tabelas locais  voc   pode utilizar transa    es manuais que  permitem processar o lote inteiro de altera    es com um
51. sar uma atualiza    o  exclus  o ou inser    o    gerenciada como uma transa    o separada   n  o    poss  vel fazer rollbacks das instru    es de transa    o anteriores        USE customerview ONLINE EXCLUSIVE  GO TO 3  IF TABLEUPDATE  0   F  workarea     conflict handling code  ENDIF  Dica Para atualizar um   nico registro em uma tabela local  utilize a fun    o GETNEXTMODIFIED                                      Cancelando atualiza    es off line    Caso voc   queira excluir os dados off line e converter a visualiza    o em uma visualiza    o on line   poder   utilizar a fun    o DROPOFFLINE       k Para cancelar atualiza    es off line   e Utilize DROPOFFLINE   com o nome da visualiza    o    Certifique se de verificar os valores de retorno  Verdadeiro   T   indica sucesso e falso   F   indica  que a visualiza    o n  o foi fechada antes da emiss  o do comando     O c  digo a seguir abandona todas as altera    es feitas ao subconjunto de dados em myview  A  visualiza    o mant  m parte do banco de dados  mas seu conjunto de dados atual    abandonado     DROPOFFLINE   myview    Voc   pode excluir registros off line  mas n  o pode utilizar os comandos PACK  ZAP ou INSERT com  uma visualiza    o off line        Otimizando o desempenho das visualiza    es     poss  vel otimizar o desempenho das visualiza    es definindo propriedades de visualiza    o     Controlando o tamanho da carga no carregamento progressivo       poss  vel controlar o n  mero de linhas que o Visual FoxP
52. ssa visualiza    o utilizando o c  digo a seguir        OPEN DATABASE testdata   CREATE SOL VIEW cust orders view AS     SELECT   FROM testdata customer     EFT OUTER JOIN testdata lorders     ON customer cust id   orders cust id   Para controlar que registros n  o correspondentes est  o inclu  dos na visualiza    o  escolha a partir  dos tipos de associa    o a seguir                                         Para Utilize          Retornar apenas registros das duas tabelas que Associa    o interna  correspondem    condi    o de compara    o  definida entre os dois campos na condi    o de    associa    o   Retornar todos os registros da tabela    Associa    o externa  esquerda da palavra chave JOIN e apenas os esquerda    registros correspondentes da tabela    direita da  palavra chave     Retornar todos os registros da tabela    direita Associa    o externa direita  da palavra chave JOIN e apenas os registros   correspondentes da tabela    esquerda da   palavra chave     Retornar registros correspondentes e Associa    o externa  n  o correspondentes das duas tabelas  completa    Definindo v  rias condi    es de associa    o    Se voc   criar visualiza    es ou consultas com mais de duas tabelas  poder   alterar os resultados  pela ordem em que as suas condi    es de associa    o s  o especificadas  Por exemplo  talvez voc    queira encontrar informa    es sobre os pedidos  incluindo informa    es sobre o funcion  rio que fez a  venda e o cliente que fez o pedido  Voc   pode cr
53. sula CONNECTION  voc   especifica um  nome que representa uma conex  o ou uma fonte de dados  O Visual FoxPro procura uma conex  o  com o nome especificado  primeiro  no banco de dados atual  Caso n  o exista uma conex  o com o  nome especificado neste banco de dados  o Visual FoxPro ir   procurar uma fonte de dados ODBC  estabelecida com o nome especificado  Se o banco de dados atual contiver uma conex  o definida  com o mesmo nome de uma fonte de dados ODBC do sistema  o Visual FoxPro ir   localizar e utilizar  a conex  o definida     Exibindo avisos de logon de ODBC    Quando voc   utilizar uma visualiza    o cujas informa    es de logon de conex  o n  o est  o totalmente  especificadas  o Visual FoxPro poder   exibir uma caixa de di  logo espec  fica da fonte de dados   solicitando as informa    es que est  o faltando     Voc   pode controlar se o Visual FoxPro exibe avisos solicitando informa    es que n  o foram  especificadas na hora da conex  o   k Para controlar a exibi    o de avisos de logon de ODBC    1  No Gerenciador de projetos  selecione o nome da conex  o e  em seguida  selecione Modificar  para abrir o Criador de conex  es     2  Na   rea Exibir avisos de logon do ODBC  selecione uma op    o      Ou    e Utilize a propriedade DispLogin das fun    es DBSETPROP   ou SQLSETPROP       Utilizando uma conex  o existente       poss  vel utilizar uma conex  o definida existente para criar uma visualiza    o remota  Para exibir   uma lista das conex  es dispon  veis 
54. tabelas e  os campos que deseja incluir na visualiza    o  especifique as condi    es de associa    o utilizadas  para relacionar as tabelas e especifique filtros para escolher registros espec  ficos  Diferentemente  das consultas  nas visualiza    es voc   tamb  m pode selecionar como as altera    es feitas nos dados  de uma visualiza    o ser  o enviadas para as tabelas originais  ou base  a partir das quais a  visualiza    o    constru  da     Quando voc   cria uma visualiza    o  o Visual FoxPro armazena uma defini    o de visualiza    o no  banco de dados atual  A defini    o cont  m os nomes das tabelas e dos campos das visualiza    es  selecionados e as defini    es de suas propriedades  Quando voc   utiliza a visualiza    o  a defini    o  de visualiza    o    utilizada para criar uma instru    o SQL que define o conjunto de dados da  visualiza    o  Para obter informa    es sobre propriedades de visualiza    o  consulte Definindo  propriedades de visualiza    o e conex  o posteriormente neste cap  tulo ou consulte DBGETPROP    ou CURSORGETPROP       Voc   pode criar dois tipos de visualiza    es  local e remota  Visualiza    es remotas utilizam sintaxe  SQL remota para selecionar informa    es de tabelas em uma fonte de dados ODBC remota  As  visualiza    es locais utilizam sintaxe SQL do Visual FoxPro para selecionar informa    es de tabelas  ou visualiza    es  Voc   pode adicionar uma ou mais visualiza    es remotas a uma visualiza    o local   o que lhe permite a
55. tes em tabelas de bancos de dados  No entanto  voc   utiliza a linguagem e n  o o  Criador de tabelas para criar legendas  coment  rios  valores padr  o e regras para visualiza    es     Criando valores padr  o para campos de visualiza    es    Da mesma forma que os valores padr  o para campos de tabelas  os valores padr  o para campos de  visualiza    es s  o armazenados no banco de dados e est  o dispon  veis sempre que a visualiza    o     utilizada  O Visual FoxPro n  o compara os valores padr  o criados localmente com os valores padr  o  estabelecidos na fonte de dados remota  Voc   deve criar valores padr  o aceit  veis para a fonte de  dados     k Para atribuir um valor padr  o a um campo de visualiza    o  e Na guia Campos no Criador de visualiza    es  selecione um campo e  em seguida  escolha  Propriedades e digite o valor padr  o para o campo     Ou    e Utilize a propriedade DefaultValue da fun    o DBSETPROP     Por exemplo  voc   pode querer que o aplicativo limite o volume de mercadorias que pode ser  encomendado por um novo cliente at   que voc   tenha tido tempo para concluir uma an  lise de    cr  dito e determinar o volume de cr  dito que est   disposto a estender a esse cliente  O exemplo  abaixo cria um campo maxordamt com o valor padr  o de 1000        OPEN DATABASE testdata   USE VIEW customer view      DBSETPROP   Customer view maxordamt    Field    DefaultValue   1000    Voc   tamb  m pode utilizar os valores padr  o para preencher algumas linhas auto
56. ual FoxPro   3 A data assume o padr  o de 1 1 1900     4 Se o valor no campo SQL TIMESTAMP contiver fra    es de segundos  as fra    es ser  o truncadas quando o valor for  convertido em um tipo de dado DataHora do Visual FoxPro     Utilizando a propriedade DataType    Voc   pode utilizar a propriedade DataType para escolher um tipo de dado diferente do padr  o  Por  exemplo  conv  m descarregar um campo de marca de DataHora do servidor para o Visual FoxPro   Entretanto o mapeamento do tipo de dado padr  o em um campo de DataHora do Visual FoxPro  poderia truncar qualquer fra    o de segundos armazenada na marca de DataHora do servidor  Voc    pode utilizar a propriedade DataType para mapear o campo de marca de DataHora remoto em um  campo de caractere do Visual FoxPro para preservar as fra    es de segundos     Atualizando dados em uma visualiza    o    Voc   atualiza dados em uma visualiza    o da mesma maneira que atualiza em uma tabela  Com  uma visualiza    o  voc   tamb  m pode atualizar as tabelas base da visualiza    o  Como padr  o  as  visualiza    es utilizam buffer de linha otimista  E poss  vel alterar este padr  o para utiliza    o de buffer  de tabela  para obter maiores informa    es sobre a utiliza    o de buffer  consulte o cap  tulo 17   Programando para acesso compartilhado     Voc   pode atualizar dados em uma visualiza    o atrav  s da interface ou da linguagem  O primeiro  passo    tornar a visualiza    o atualiz  vel  Na maioria das vezes  as defini   
57. un    o SYS 3054   voc   pode exibir um dos tr  s n  veis de otimiza    o Rushmore  Os tr  s n  veis  indicam o grau em que as condi    es de filtro ou associa    o foram capazes de utilizar a otimiza    o  Rushmore  Os n  veis s  o  completamente  Completo   parcialmente  Parcial  ou nenhum  Nenhum      k Para exibir o plano de execu    o para filtros  1 Na janela Comando  digite SYS 3054 1  para ativar SQL ShowPlan   2 Digite a instru    o SQL SELECT    Por exemplo  voc   pode digitar     SELECT   FROM customer  orders    AND Upper  country     MEXICO   3 Leia o plano de execu    o na tela     Para este exemplo  a tela pode exibir     Using Index Tag Country to optimize table customer  Rushmore Optimization Level for table customer  Full  Rushmore Optimization level for table orders  none   4 Na janela Comando  digite SYS 3054 0  para desativar SQL ShowPlan     Em seguida  voc   pode passar 11 para a fun    o SYS para avaliar as associa    es nas cl  usulas  FROM ou WHERE                                k Para exibir o plano de execu    o para associa    es   1 Najanela Comando  digite SYS 3054 11  para ativar SQL ShowPlan    2 Digite a instru    o SQL SELECT   Por exemplo  voc   pode digitar    SELECT        FROM customer INNER JOIN orders     ON customer cust id   orders cust id     WHERE Upper  country     MEXICO    3 Leia o plano de execu    o na tela   Para este exemplo  a tela pode exibir   Using Index Tag Country to optimize table customer  Rushmore Optimization Level
58. utilizar a cl  usula AGAIN  O c  digo abaixo exibe product_remote_view  em duas janelas Pesquisar        OPEN DATABASE testdata  USE product_remote_view  BROWSE  USE product_remote_view AGAIN in 0  BROWSE  Quando voc   utiliza a cl  usula AGAIN  o Visual FoxPro procura um cursor de visualiza    o existente  na sess  o atual e abre um alias adicional que indica este cursor de visualiza    o  Abrir uma outra  inst  ncia de uma visualiza    o com a cl  usula AGAIN equivale a emitir um comando USE com a    cl  usula NOREQUERY com o n  mero da sess  o atual        HE             Exibindo a estrutura de uma visualiza    o       poss  vel abrir e exibir apenas a estrutura de uma visualiza    o com a cl  usula NODATA do  comando USE  Este procedimento    particularmente   til quando voc   deseja visualizar a estrutura  de uma visualiza    o remota sem esperar a transfer  ncia dos dados    k Para abrir uma visualiza    o sem dados    e Acesse a visualiza    o atrav  s da linguagem de programa    o com o comando USE e a cl  usula  NODATA     O c  digo abaixo exibe customer remote view sem dados em uma janela Pesquisar        OPEN DATABASE testdata   USE customer remote view NODATA in 0  BROWSE  O uso de uma visualiza    o com a cl  usula NODATA sempre abre um novo cursor de visualiza    o  A  cl  usula NODATA    a maneira mais r  pida de se obter a estrutura da visualiza    o  pois ela cria o  menor cursor poss  vel na fonte de dados remota  Quando esta cl  usula    utilizada  o Visual
59. za    o remota da  tabela products     OP   CRI    N DATABASE testdata   ATE SOL VIEW product remote view     CONNECTION remote 01     AS SELECT   FROM products   Voc   pode utilizar um nome de fonte de dados em vez de um nome de conex  o quando criar uma  visualiza    o remota  Tamb  m pode optar por omitir o nome da fonte de dados ou conex  o quando  utilizar o comando CREATE SQL VIEW com a cl  usula REMOTE  O Visual FoxPro exibir    em  seguida  a caixa de di  logo Selecionar conex  o ou a caixa de di  logo Fonte de dados  onde voc    poder   selecionar uma fonte de dados ou uma conex  o v  lida     m  7                               Depois de criar uma visualiza    o  voc   poder   abrir o Criador de bancos de dados e ver   que a  visualiza    o est   no esquema exibido da mesma maneira que uma tabela  com o nome e   cone da  visualiza    o no lugar de um nome e   cone de tabela     Se voc   associar duas ou mais tabelas no Criador de visualiza    es remotas  o criador utilizar    associa    es internas  ou equi associa    es  e ir   inserir a condi    o de associa    o na cl  usula  WHERE  Se desejar utilizar uma associa    o externa  o Criador de visualiza    es remotas s    fornecer   associa    es externas esquerdas  a sintaxe suportada pelo ODBC  Se precisar de  associa    es externas completas ou direitas ou se quiser utilizar uma sintaxe nativa para uma  associa    o externa esquerda  crie a visualiza    o atrav  s da linguagem de programa    o     Utilizando visua
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
4700 Refrigerated Sampler User Manual  InfraCal TOG/TPH Analyzer    PDFカタログ (1055KB)  Makita EK6101 Use and Care Manual  Yarvik GoTab 8 4GB Black  APP Operating Instructions 1. Install the APP  doForms™ iPhone User Guide  Série HDC-1000    Copyright © All rights reserved. 
   Failed to retrieve file