Olá aos navegantes! Na coluna dessa semana vamos usar o banco de dados MS-SQL Server 7.0.
Abra o Enterprise Manager do SQL e crie uma nova tabela com o mesmo nome da coluna anterior(pessoal) como mostra as figuras abaixo:


Vamos criar os campos da tabela como mostra a figura abaixo:

Como podemos ver essa tabela é parecida como a que fizemos em Access na coluna anterior, mas tem algumas coisas diferêntes.
A primeira diferênça que podemos notar são os tipos de dados, no Access o campo código era AutoNumber, no SQL Server também é mas é configurado de uma outra forma. O tipo de dado você coloca como int e depois você clica na caixinha de Identity desse campo, que é o que vai determinar que o mesmo é um AutoNumber.
Os outros campos que no Access erão text, aqui passam a ser varchar como os respectivos tamanhos.
Diferente do Access podemos também usar o banco de dados SQL Server para criar as rotinas de inclusão, exclusão, alteração e consulta, tirando assim um pouco do processo do Visual Basic e passando para o banco. No caso do nosso exemplo você não vai perceber muito a diferênça de performace, mas se a rotina for complexa isso faz uma grande diferença quando o banco executa a rotina e devolve apenas os dados para o programa.
Pra isso precisamos usar um recurso do banco chamado Stored Procedure, e criar uma Stored Procedure para cada processo usando o Query Analyser do Enterprise Manager como mostra a figura abaixo:
Agora crie uma Procedure para cada rotina e salve o arquivo como .sql como mostra os códigos abaixo:
Procedure de Inclusão:
( nome arq. p_Inserir.sql )
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
if exists (select
* from sysobjects
where id = object_id(N'[dbo].[p_Inserir]')
and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[p_Inserir]
GO
CREATE PROCEDURE p_Inserir
(@nome varchar(50),
@endereco varchar(100),
@fone varchar(25))
AS
SET NOCOUNT ON
INSERT INTO pessoal
(nome, endereco, fone)
VALUES (@nome, @endereco, @fone)
GO
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
Procedure de Alteração:
( nome arq. p_Alterar.sql )
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
if exists (select
* from sysobjects
where id = object_id(N'[dbo].[p_Alterar]')
and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[p_Alterar]
GO
CREATE PROCEDURE p_Alterar
(@codigo int,
@nome varchar(50),
@endereco varchar(100),
@fone varchar(25))
AS
SET NOCOUNT ON
UPDATE pessoal SET
nome = @nome, endereco = @endereco, fone = @fone
WHERE codigo = @codigo
GO
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
Procedure de Exclusão:
( nome arq. p_Excluir.sql )
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
if exists (select
* from sysobjects
where id = object_id(N'[dbo].[p_Excluir]')
and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[p_Excluir]
GO
CREATE PROCEDURE p_Excluir
(@codigo int)
AS
SET NOCOUNT ON
DELETE FROM pessoal
WHERE codigo = @codigo
GO
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
Procedure de Consulta:
( nome arq. p_Consultar.sql )
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
if exists (select
* from sysobjects
where id = object_id(N'[dbo].[p_Consultar]')
and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[p_Consultar]
GO
CREATE PROCEDURE p_Consultar
(@codigo int)
AS
SET NOCOUNT ON
SELECT * FROM
pessoal
WHERE codigo = @codigo
GO
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS
ON
GO
Depois de todas as procedures criadas prcisamos enseri-las no banco SQL Server, então clique na seta verde do Query Analyzer ou precione F5 como mostra a figura abaixo:

Repita o processo acima com todas Procedures, e semana que vem vamos integrar o que fizemos no banco SQL Server com o projeto de Agenda Telefônica.
Até semana que vem e abraços a todos.
Leitão
Não tenho o MS-SQL Server 7.0 como fasso para o download dele?
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.