inserção de procedimento (sql) em csharp
25/10/2013
0
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?
-- 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
Curtir tópico
+ 0
Responder
Posts
11/11/2013
Fernanda Acacia
alguem poderia ajudar o nosso amigo, e aproveita e coloca o post no lugar correto? obrigada
Responder
11/11/2013
Joel Rodrigues
A mesma pergunta foi feita no seguinte tópico: [url]https://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.
Favor sinalizar se podemos cancelar esse e manter apenas o que já foi respondido.
Responder
Clique aqui para fazer login e interagir na Comunidade :)