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

SQL Server

.NET

Engenharia de Software

21/10/2014

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

Curtidas 0

Respostas

Aluisio Cavalcante

Aluisio Cavalcante

21/10/2014

Vc quer fazer somente a inserção?
GOSTEI 0
Domingos Pinto

Domingos Pinto

21/10/2014

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.
GOSTEI 0
Aluisio Cavalcante

Aluisio Cavalcante

21/10/2014

Da uma olhada nesse CRUD

[url]https://www.devmedia.com.br/criando-um-crud-em-c/30384[/url]
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

21/10/2014

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.
GOSTEI 0
Domingos Pinto

Domingos Pinto

21/10/2014

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...
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

21/10/2014

Em uma instrução só não dá. Você precisa executar dois inserts.
GOSTEI 0
Domingos Pinto

Domingos Pinto

21/10/2014

Ok, me mostre como se faz ou melhor dá um exemplo para mim se basear, por favor...
GOSTEI 0
Aluisio Cavalcante

Aluisio Cavalcante

21/10/2014

Joel, apenas repete a instrução?
GOSTEI 0
Leidiane Moraes

Leidiane Moraes

21/10/2014

Acho que antes de qualquer coisa, você deveria estudar o básico de banco de dados.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

21/10/2014

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.
GOSTEI 0
Domingos Pinto

Domingos Pinto

21/10/2014

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]
GOSTEI 0
Domingos Pinto

Domingos Pinto

21/10/2014

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.
GOSTEI 0
Domingos Pinto

Domingos Pinto

21/10/2014

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...
GOSTEI 0
Domingos Pinto

Domingos Pinto

21/10/2014

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.
GOSTEI 0
Fabiano Carvalho

Fabiano Carvalho

21/10/2014

se o banco for sql server, pode-se utilizar a clausula output.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

21/10/2014

Eu já entendi sua situação amigo. E repito: da mesma forma que você faz o insert em uma tabela, basta utilizar o mesmo código para fazer o insert nas outras, tudo dentro de um mesmo método. Você não precisa de dois ou três botões para isso. Basta que no evento Click do botão, você execute os 3 inserts SEPARADAMENTE, UM APÓS O OUTRO.

É basicamente copiar o código e colar, mudando o nome da tabela.
GOSTEI 0
POSTAR