Olá pessoal, Sou novo no fórum e também aprendiz em programação
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:
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...
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
Curtidas 0
Respostas
Aluisio Cavalcante
21/10/2014
Vc quer fazer somente a inserção?
GOSTEI 0
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.
quero inserir os dados de todas as tabelas duma só vez.
Ajuda-me irmão.
GOSTEI 0
Aluisio Cavalcante
21/10/2014
Da uma olhada nesse CRUD
[url]https://www.devmedia.com.br/criando-um-crud-em-c/30384[/url]
[url]https://www.devmedia.com.br/criando-um-crud-em-c/30384[/url]
GOSTEI 0
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.
E por favor, não use esse tipo de título nos próximos tópicos.
GOSTEI 0
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...
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
21/10/2014
Em uma instrução só não dá. Você precisa executar dois inserts.
GOSTEI 0
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
21/10/2014
Joel, apenas repete a instrução?
GOSTEI 0
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
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
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]
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
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.
Vê se me ajudem amigos.
GOSTEI 0
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...
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
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.
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
21/10/2014
se o banco for sql server, pode-se utilizar a clausula output.
GOSTEI 0
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.
É basicamente copiar o código e colar, mudando o nome da tabela.
GOSTEI 0