Olá pessoal, Sou novo no fórum e também aprendiz em programação

21/10/2014

0

A princípio, preciso da vossa ajuda amigos, quero inserir dados de tabelas diferente no SQL Server a partir do C sharp.
As tabelas são:
create table TABELA_IMPRESSORA
(
id_impressora int not null,
marca varchar (30) not null,
modelo varchar (30)not null,[img]http://arquivo.devmedia.com.br/forum/imagem/0-20141021-082625.png[/img]
id_área int not null,
ip varchar (15)not null,
fotografia varbinary(MAX)not null,
primary key (id_impressora)
)


create table TABELA_TONNER
(
id_tonner int not null,
grupo varchar (15) not null,
referência varchar (10) not null,
Cor varchar (15) not null,
quantidade int not null,
primary key (id_tonner)
)


create table TABELA_ÁREA
(
id_área int not null,
nome_área varchar (50) not null,
usuários varchar (500) not null,
primary key (id_área)
)


create table TABELA_FORNECEDOR
(
	id_fornecedor int NOT NULL,
	nome_fornecedor varchar(35) NOT NULL,
	telemovel varchar(35),
	email varchar(40),
	primary key (id_fornecedor)
).
               

E eu quero que a partir de um e único comando BTN_Guardar ele insere na base de dados todos os campos que eu escolhi em cada tabela...
ex:
SqlCommand Comando = new SqlCommand("insert into TABELA_IMPRESSORA(@marca,@modelo,@ip),TABELA_TONNER(@grupo,@referência,@Cor,@quantidade), TABELA_ÁREA(@nome_área,@usuários), TABELA_FORNECEDOR (@nome_fornecedor)", Conexão);
Sei que você é um gênio, ajuda-me...
Domingos Pinto

Domingos Pinto

Responder

Posts

21/10/2014

Aluisio Cavalcante

Vc quer fazer somente a inserção?
Responder

21/10/2014

Domingos Pinto

sim, até agora só preciso inserir, depois é que vamos analisar outros casos...
quero inserir os dados de todas as tabelas duma só vez.
Ajuda-me irmão.
Responder

21/10/2014

Aluisio Cavalcante

Da uma olhada nesse CRUD

[url]https://www.devmedia.com.br/criando-um-crud-em-c/30384[/url]
Responder

21/10/2014

Joel Rodrigues

Veja o exemplo que o Aluisio sugeriu. Certamente vai lhe ajudar.
E por favor, não use esse tipo de título nos próximos tópicos.
Responder

22/10/2014

Domingos Pinto

Este exemplo é interessante, é válido para inserir apenas na tabela CLIENTE, assim funciona normalmente, mais eu quero que, insere duas tabelas, CLIENTE e por exemplo FORNECEDOR, numa única string de conexão.

string sql = "INSERT INTO CLIENTE and FORNECEDOR (Nome, Email...)(NOME,ENDERECO,CEP,BAIRRO,CIDADE,UF,TELEFONE) " + "VALUES ('" + txtNome.Text + "', '" + txtEndereco.Text + "', '" + mskCep.Text + "', '" + txtBairro.Text + "', '" + txtCidade.Text + "', '" + txtUf.Text + "', '" + mskTelefone.Text + "')";

Vê se me ajudem amigos...
Responder

22/10/2014

Joel Rodrigues

Em uma instrução só não dá. Você precisa executar dois inserts.
Responder

22/10/2014

Domingos Pinto

Ok, me mostre como se faz ou melhor dá um exemplo para mim se basear, por favor...
Responder

22/10/2014

Aluisio Cavalcante

Joel, apenas repete a instrução?
Responder

22/10/2014

Leidiane Moraes

Acho que antes de qualquer coisa, você deveria estudar o básico de banco de dados.
Responder

22/10/2014

Joel Rodrigues

Pela sua resposta, entendo que você leu o artigo sugerido e viu que funciona normalmente. Então, como agora você sabe que tem que executar dois inserts, é só seguir o modelo.
Responder

23/10/2014

Domingos Pinto

Não sei se entendeste, o formulário é apenas um, onde estão todos os campos das tabelas e o botão inserir é apenas um, como vou fazer dois insert com um botão apenas.
Vê a imagem do formulário e dê-me uma dica...
Um abraço.
[img:descricao=Imagem do formulário em causa]http://arquivo.devmedia.com.br/forum/imagem/391991-20141023-050123.png[/img]
Responder

23/10/2014

Domingos Pinto

Se vires bem na imagem, cada uma das GROUPBOX corresponde a uma tabela na base de dados, o botão guardar é apenas um para guardar nas diferentes tabelas.
Vê se me ajudem amigos.
Responder

23/10/2014

Domingos Pinto

Senhora Leidiane Borges, Eu já inseri na base de dados, o código é:

insert into TABELA_IMPRESSORA(marca,modelo,ip) values('HP','Deskjet 100','192.168.1.15') insert into TABELA_TONNER(grupo,referência,Cor,quantidade)values('124A','CE1231D','Preto','1')insert into TABELA_ÁREA(nome_área,usuários)values('Informática','Mingaith Pinto')insert into TABELA_FORNECEDOR (nome_fornecedor)values('NCR')

Desta maneira a partir do SQL Server insere normalmente, mas Eu quero inserir da mesna maneira a partir do formulário, se sabes me dê umas dicas...
Responder

23/10/2014

Domingos Pinto

estou a tentar assim:
SqlCommand Comando = new SqlCommand("insert into TABELA_IMPRESSORA,TABELA_TONNER,TABELA_ÁREA,TABELA_FORNECEDOR(@marca,@modelo,@ip,@grupo,@referência,@Cor,@quantidade,@nome_área,@usuários,@nome_fornecedor)", Conexão);
Comando.Parameters.AddWithValue("marca", TXT_Marca.Text);
Comando.Parameters.AddWithValue("modelo", TXT_Modelo.Text);
Comando.Parameters.AddWithValue("ip", TXT_Endereço_IP.Text);
Comando.Parameters.AddWithValue("grupo", TXT_grupo.Text);
Comando.Parameters.AddWithValue("referência", TXT_referência.Text);
Comando.Parameters.AddWithValue("Cor", CBOX__cor.Text);
Comando.Parameters.AddWithValue("quantidade", TXT_quantidade.Text);
Comando.Parameters.AddWithValue("nome_área", TXT_Departamento.Text);
Comando.Parameters.AddWithValue("usuários", TXT_Usuários.Text);
Comando.Parameters.AddWithValue("nome_fornecedor", CBX_Fornecedor.Text);
Comando.ExecuteNonQuery();
MessageBox.Show("gravado com sucesso");
Conexão.Close();

Agora têm tudo para entenderem o que eu necessito...
Abraço.
Responder

23/10/2014

Fabiano Carvalho

se o banco for sql server, pode-se utilizar a clausula output.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar