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