Usando o controle ADOData
O controle ADOData usa Microsoft ActiveX Data Objects (ADO) para estabelecer rapidamente uma conexão entre um controle vinculado a dados e um provedor de dados. Um controle vinculado a dados é qualquer controle que tenha uma propriedade DataSource. O provedor de dados pode ser qualquer fonte de dados que esteja em conformidade com a especificação OLEDB. Você também pode criar facilmente provedores de dados de subconjuntos usando módulos de classe do Visual Basic.
Embora você possa usar objetos de dados ActiveX diretamente em seu aplicativo, o controle ADOData tem as vantagens de ser um controle gráfico (com botões "avançar" e "retroceder") e uma interface fácil de usar que permite usar o mínimo de código. um aplicativo de banco de dados.
Na "caixa de ferramentas" do Visual Basic, muitos controles podem ser usados como controles vinculados a dados, incluindo caixas de seleção, caixas de combinação, imagens, rótulos, caixas de listagem, caixas de imagem e controles de caixa de texto. Além disso, o Visual Basic também inclui vários controles ActiveX de ligação de dados, como controles DataGrid, DataCombo, Chart e DataList. Os usuários também podem criar seus próprios controles ActiveX vinculados a dados ou adquirir controles de outros desenvolvedores.
Versões anteriores do Visual Basic forneciam controles de dados intrínsecos e controles RemoteData (RDC) para acesso a dados. Ambos os controles ainda estão incluídos no Visual Basic para fornecer compatibilidade com versões anteriores. Entretanto, como o ADO é mais adaptável, é recomendável que os usuários utilizem o controle ADOData para criar novos aplicativos de banco de dados.
Mais informações Uma lista completa de controles vinculados a dados está em "Controles vinculados a controles ADOData". Para saber como usar esses controles de dados intrínsecos ou o controle RemoteData, consulte "Usando controles de dados" ou "Usando controles RemoteData". Para obter mais informações sobre como criar provedores de dados, consulte "Criando classes de reconhecimento de dados".
Possível uso
Conecte-se a um banco de dados local ou remoto.
Abre uma tabela de banco de dados especificada ou define um conjunto de registros com base em uma consulta SQL (Structured Query Language), procedimento armazenado ou visualização de uma tabela no banco de dados.
Passe os valores de um campo de dados para controles vinculados a dados, onde eles podem ser exibidos ou alterados.
Adicione novos registros ou atualize um banco de dados com base em quaisquer alterações nos dados exibidos no controle vinculado.
Para criar um aplicativo de banco de dados cliente ou front-end, adicione o controle ADOData ao formulário, bem como quaisquer outros controles do Visual Basic necessários. Você pode colocar vários controles ADOData em um formulário com base nas suas necessidades. No entanto, observe que este controle é uma forma bastante "cara" de criar conexões e deve ser usado quando o primeiro controle tiver pelo menos duas conexões e cada controle subsequente tiver pelo menos mais uma conexão.
Crie um aplicativo de banco de dados front-end com código mínimo
Ao definir algumas propriedades em tempo de design, você pode criar um aplicativo de banco de dados com código mínimo. Se você estiver usando uma fonte de dados OLEDB, o Microsoft DataLinkName (.MDL) correspondente deverá ser criado em sua máquina. Consulte "Criando OLEDBDataLink do Northwind" para obter um exemplo passo a passo.
Para criar um aplicativo de banco de dados front-end simples:
1. Coloque um controle ADOData no formulário (a dica de ferramenta do ícone é ADODC. Se o controle não estiver na "Caixa de Ferramentas", pressione a tecla CTRL T para exibir a caixa de diálogo "Partes"). Na caixa de diálogo Componentes, clique em MicrosoftADODataControl.
2. Na "Caixa de Ferramentas", clique para selecionar "Controle ADOData". Em seguida, pressione a tecla F4 para exibir a janela Propriedades.
3. Na janela Propriedades, clique em ConnectionString para exibir a caixa de diálogo ConnectionString.
4. Se você criou um arquivo Microsoft DataLink (.MDL), selecione "Usar arquivo OLEDB" e clique em "Procurar" para localizar o arquivo em seu computador. Se estiver usando um DSN, clique em Usar nome de fonte de dados ODBC e selecione um DSN na caixa ou clique em Novo para criar um. Se desejar criar uma cadeia de conexão, selecione Usar ConnectionString, clique em Gerar e use a caixa de diálogo Propriedades do Link de Dados para criar uma cadeia de conexão. Após criar a string de conexão, clique em OK. A propriedade ConnectionString será preenchida com uma string semelhante à seguinte linha:
driver={SQLServer};servidor=bigsmile;uid=sa;pwd=pwd;banco de dados=pubs
5. Na janela "Propriedades", defina a propriedade "Fonte de Registro" como uma instrução SQL. Por exemplo: SELECT*FROMTitlesWHEREAuthorID=72 Ao acessar uma tabela, você deve sempre incluir uma cláusula WHERE. Não fazer isso bloquearia toda a tabela, o que seria um sério impedimento para outros usuários.
6. Coloque outro controle "Caixa de Texto" no formulário para exibir informações do banco de dados.
7. Na janela "Propriedades", defina a propriedade "Fonte de Dados" de Text1 com o nome do controle ADOData (ADODC1). Isso vincula a caixa de texto e o controle ADOData.
8. Na janela “Propriedades”, clique em “Campos de dados” para obter uma lista suspensa de campos disponíveis. Clique no nome do campo que deseja exibir.
9. Repita as etapas 6, 7 e 8 para cada campo que deseja acessar.
10. Pressione a tecla F5 para executar o aplicativo. O usuário pode usar os quatro botões de seta no controle ADOData, permitindo ao usuário chegar ao início dos dados, ao final do registro ou passar de um registro para outro dentro dos dados.
Defina ConnectionString, Source, DataSource e DataField no programa. Observe que você precisa usar a instrução Set para definir a propriedade DataSource.
PRivateSubForm_Load()
ComADODC1
.ConnectionString=driver={SQLServer};&_
servidor=bigsmile;uid=sa;pwd=pwd;database=pubs
.RecordSource=Selecionar*FromTitlesWhereAuthorID=7
Terminar com
SetText1.DataSource=ADODC1
Text1.DataField=Título
Fim Sub
Eventos de controle ADOData
O controle ADOData fornece vários eventos programáveis. A tabela a seguir descreve esses eventos e quando eles ocorrem, mas esta tabela não é uma lista completa de todas as condições para quando esses eventos ocorrem. Para obter informações mais completas, consulte os tópicos de referência de eventos individuais.
Para obter mais informações Se você estiver tentando usar o controle ADOData passo a passo, consulte "Criando um aplicativo de banco de dados simples usando o DataGrid e o controle de dados ADO", "Criando um aplicativo DataCombo simples" e "Criando um DataGrid conectado a um DataList Controlar."
Definir propriedades relacionadas ao banco de dados do controle ADOData
Ao criar uma conexão, você pode usar uma das três fontes: uma cadeia de conexão, um arquivo OLEDB (.MDL) ou um nome de fonte de dados ODBC (DSN). Ao usar o DSN, não é necessário alterar nenhuma outra propriedade do controle.
Entretanto, se você souber mais sobre tecnologia de banco de dados, poderá alterar algumas outras propriedades que aparecem no controle ADOData. A lista a seguir descreve algumas das propriedades desse controle relacionadas ao banco de dados. Esta lista também sugere a ordem lógica na qual essas propriedades devem ser definidas.
Observe que a tecnologia de banco de dados é complexa e as sugestões a seguir não devem ser consideradas regras.
1.ConnectionString — A propriedade ConnectionString é uma string que pode conter todos os valores de configuração necessários para fazer uma conexão. Os parâmetros passados nesta string são específicos do driver. Por exemplo, o driver ODBC permite que a string contenha o driver, provedor, banco de dados padrão, servidor, nome de usuário, senha, etc.
2.UserName — O nome do usuário quando o banco de dados é protegido por senha, esse atributo precisa ser especificado. Semelhante à propriedade Provider, esta propriedade pode ser especificada em ConnectionString. Se uma propriedade ConnectionString e uma propriedade UserName forem fornecidas, o valor em ConnectionString substituirá o valor da propriedade UserName.
3.PassWord – também necessária ao acessar um banco de dados protegido. Semelhante ao atributo Provider e ao atributo UserName, se uma senha for especificada no atributo ConnectionString, o valor especificado neste atributo será substituído.
4.RecordSource - Esta propriedade geralmente contém uma instrução usada para determinar quais informações recuperar do banco de dados.
5.CommandType — O atributo CommandType informa ao provedor de dados se o atributo Source é uma instrução SQL, o nome de uma tabela, um procedimento armazenado ou um tipo desconhecido.
6.CursorLocation — Este atributo especifica a localização do cursor, se ele está localizado no cliente ou no servidor
superior. Esta decisão afetará suas configurações para as propriedades a seguir.
7.CursorType — O atributo CursorType determina se o conjunto de registros é um tipo estático, um tipo dinâmico ou um tipo de cursor de conjunto de chaves.
8.LockType — A propriedade LockType determina como os dados que você está editando serão bloqueados quando alguém tentar alterá-los. Como definir essa propriedade LockType é uma decisão complexa que depende de vários fatores.
9.Mode — O atributo Mode determina quais operações você deseja executar com o conjunto de registros. Por exemplo, se você quiser apenas criar um relatório, poderá obter melhorias de desempenho definindo essa propriedade como somente leitura.
10.MaxRecords—Esta propriedade determina o tamanho do cursor. A forma como o valor desta propriedade é determinado depende do tamanho dos registros que estão sendo recuperados e da quantidade de recursos disponíveis (memória) no computador. Um registro grande (incluindo muitas colunas e sequências longas) custa mais recursos do que um registro pequeno. Portanto, a propriedade MaxRecords não pode ser muito grande.
11.ConnectionTimeout — Defina o tempo de espera para estabelecer uma conexão, em segundos. Se a conexão atingir o tempo limite, um erro será retornado.
12.CacheSize — O atributo CacheSize especifica quantos registros podem ser recuperados do cursor. Se CursorLocation estiver definido para o cliente, esta propriedade só poderá ser definida como um número pequeno (talvez 1) sem quaisquer efeitos adversos. Se a posição do cursor estiver no lado do servidor, você poderá ajustar esse número para o número de linhas que deseja visualizar de uma vez. Por exemplo, se você usar o controle DataGrid para exibir 30 linhas, poderá definir CacheSize como 60 para poder rolar sem recuperar mais dados.
13.BOFAction, EOFAction—Essas duas propriedades determinam o comportamento do controle quando ele está no início e no final do cursor. As opções disponíveis incluem permanecer no início ou no final, passar para o primeiro ou último registro ou adicionar um novo registro (somente no final).
Controles vinculados ao controle ADOData
Qualquer controle com uma propriedade DataSource pode ser vinculado a um controle ADOData. Os seguintes controles intrínsecos podem ser associados ao controle ADOData:
Caixa de seleção
Caixa de combinação
Imagem
Rótulo
Caixa de listagem
Caixa de imagem
Caixa de texto
Os seguintes controles ActiveX vinculados a dados também estão disponíveis em todas as versões do Visual Basic:
Lista de dados
DataCombo
Grade de dados
MicrosoftHierarchicalFlexGrid
RichTextBox
Gráfico Microsoft
Selecionador de data e hora
ImageCombo
Visualização do mês
Finalmente, os usuários podem criar seus próprios controles ActiveX vinculados a dados usando objetos DataBinding.
Para obter mais informações sobre como criar seus próprios controles vinculados a dados, consulte "Criando controles de usuário vinculados a dados".
->