inserção de procedimento (sql) em csharp

25/10/2013

tenho um procedimento criado sql sever 2008 r2 e pretendo inseri-lo ao c# para evitar os comandos select,delete,update e insert dentro do c#, só quando insero o procedimento no sqlcommand ela dá um erro, segue a baixo o procedimento em sql e c#:

-- PROCEDIMENTO EM SQL SERVER 2008 R2

CREATE PROCEDURE SP_INSERCAODELIVROS


@autor varchar(80),
@titulo varchar(80),
@subtitulo varchar(60),
@estante varchar(30),
@quantidade int,
@categoria varchar(65),
@idioma varchar(30),
@descricao varchar(45),
@encadernacao varchar(48),
@anolancamento varchar(34),
@editora varchar(59),
@anoedicao varchar(34),
@numeroedicao int,
@isbn varchar(28)
AS

BEGIN
INSERT INTO Tb_Autor (autor)
VALUES (@autor)

DECLARE @codnovodolivro AS int = @@identity


BEGIN

INSERT INTO Tb_Livro(titulo,subtitulo)
VALUES(@titulo,@subtitulo)

DECLARE @codnovodoautor AS int = @@identity
END

BEGIN
INSERT INTO Tb_Cadastro(codlivro,estante,quantidadelivro)
VALUES(@codnovodolivro,@estante,@quantidade)
END

BEGIN
INSERT INTO Tb_Categoria(codlivro,categoria)
VALUES(@codnovodolivro,@categoria)
END

BEGIN
INSERT INTO Tb_Idioma(codlivro,idioma)
VALUES(@codnovodolivro,@idioma)
END

BEGIN
INSERT INTO Tb_Descricao(codlivro,descricao)
VALUES(@codnovodolivro,@descricao)
END

BEGIN
INSERT INTO Tb_Encadernacao(codlivro,encadernacao)
VALUES(@codnovodolivro,@encadernacao)
END

BEGIN
INSERT INTO Tb_AutorLivro(codautor,codlivro,anolancamento)
VALUES(@codnovodoautor,@codnovodolivro,@anolancamento)
END

BEGIN
INSERT INTO Tb_Editora
VALUES(@editora)

DECLARE @codnovoeditora AS int = @@identity

END

BEGIN
INSERT INTO Tb_EditorLivro(codeditora,codlivro,anoediacao,numeroedicao,isbn)
VALUES(@codnovoeditora,@codnovodolivro,@anoedicao,@numeroedicao,@isbn)
END

END

tento chama-lo usando essa linha de códgo em c#:

{
//ConnectionState estado;

// conexão com o banco de dado
SqlConnection connection = new SqlConnection();
connection.ConnectionString = ("Data Source=GOMESFUTILA-PC;Initial Catalog=Db_Gestao_Cadastro_Livros; ; User ID=sa; Password=gomesfutila");
connection.Open();
//estado = connection.State;
//MessageBox.Show(estado.ToString());

SqlCommand command = new SqlCommand(SP_INSERCAODELIVROS,connection);


}

como faço para chamar o procedimento sem haja erro?

Anacleto Linux

Respostas

11/11/2013

Fernanda Acacia

alguem poderia ajudar o nosso amigo, e aproveita e coloca o post no lugar correto? obrigada
Responder Citar

11/11/2013

Joel Rodrigues

Movendo para a sala de .net.
Responder Citar

11/11/2013

Joel Rodrigues

A mesma pergunta foi feita no seguinte tópico: [url]http://www.devmedia.com.br/forum/como-criar-um-procedimento-que-retorna-uma-consulta-usando-sqldataadapter-select-e-inner-join-em-csharp/460553[/url].
Favor sinalizar se podemos cancelar esse e manter apenas o que já foi respondido.
Responder Citar