No primeiro comando estaremos inserindo dados na tabela clientes através de uma procedure:
ALTER PROCEDURE [dbo].[cadastra_cliente] --nome da procedure
-- Add the parameters for the stored procedure here
@Nome VARCHAR(50)
AS
INSERT INTO
CLIENTE (Nome) -- tabela do banco
VALUES
(@Nome)
GO
A seguir excluiremos um produto da tabela PRODUTO via procedure
ALTER PROCEDURE [dbo].[excluir_produto]
@Nome varchar (50)
AS
DELETE FROM
PRODUTO
WHERE
Nome = @Nome
GO
Agora excluiremos um cliente, porém precisamos checar se o mesmo possui algum pedido de compra de produto em andamento.
ALTER PROCEDURE [dbo].[excluir_cliente]
-- Add the parameters for the stored procedure here
@Nome varchar (50)
AS
DELETE FROM CLIENTE
WHERE NOME = @NOME
AND
(
SELECT COUNT(p.id) as qtd FROM PRODUTO p, CLIENTE c
WHERE
c.nome like @Nome
and
p.idservidor = (c.id) = 0;
GO
Agora iremos exibir os produtos em compra de um cliente
ALTER PROCEDURE [dbo].[exibe_produto_cliente]
-- Add the parameters for the stored procedure here
@Nome VARCHAR(50)
AS
SELECT p.* FROM PRODUTO p, CLIENTE c
WHERE
c.nome like @Nome
and
p.idservidor = c.id
GO
A próxima procedure iremos exibir o nome de um cliente, caso não se coloque nenhum nome, será exibido todos os nomes da tabela cliente, caso se coloque parte do nome, será exibido todos os nomes com parte daquele determinado nome.
ALTER PROCEDURE [dbo].[exibe_dados_cliente]
-- Add the parameters for the stored procedure here
@Nome varchar
AS
IF @Nome is NULL
SELECT * FROM CLIENTE
ELSE
SELECT id, nome FROM CLIENTE
WHERE
nome Like '%' + @Nome + '%'
GO
Agora temos o codigo em C# implementando a procedure cadastra_cliente:
SqlConnection conexao = new SqlConnection("user id=dba;password=dba;Data Source=VMWINXP\\SQLEXPRESS;Initial Catalog=server;Integrated Security=False");
try
{
SqlCommand comando = new SqlCommand("cadastra_cliente", conexao);
comando.CommandType = CommandType.StoredProcedure;
comando.Parameters.AddWithValue("@Nome", this.txtCliente.Text);
conexao.Open();
comando.ExecuteNonQuery();
conexao.Close();
MessageBox.Show("Cliente Cadastrado com Sucesso");
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
MessageBox.Show("Erro ao cadastrar cliente, contate o administrador do sistema");
}
finally
{
conexao.Dispose();
conexao.Close();
}