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