ATUALIZAR VARIOS ITENS NO BANCO DE DADOS

ZAION 23/09/2011 11:49:25
#385054
agradeço por sua disposição em ajudar, mas não deu certo devo estar bestando em alguma coisa
ALTAIR148 23/09/2011 12:00:56
#385055
Posta ai como está tentando.
ZAION 23/09/2011 12:17:21
#385060
olha altair eu adaptei o codigo que voce postou a minha necessidade, não mudei nada, tentei vincular também um textbox da quantidade do item, que vai ser comprado junto ao datagrid, no caso a celula do item, mas não aconteceu nada, acho que passei batido em alguma coisa
Dim item As Integer = 0
Dim baixa As String

For x = 0 To DataGridView1.RowCount - 1
baixa = DataGridView1.Rows(item).Cells(2).Value
item = +1
Next
ALTAIR148 23/09/2011 12:25:59
#385063
Boa tarde

For x = 0 To DataGridView1.RowCount - 1
baixa = DataGridView1.Rows(item).Cells(2).Value
Aqui coloca a função do UPDATE
item = +1
Next

Até mais.
FOXMAN 23/09/2011 12:32:03
#385064
Amigo,

Faça uma SP (ou no seu caso uma consulta) no banco para não sobrecarregar o sistema.
Deixe essa tarefa a cargo do SGBD.

Crie uma Stored Procedure (ou uma consulta atualização) que faça o update.

A lógica seria a seguinte.
Passar para a consluta ou SP o codigo do pedido.
Fazer um loop em uma tabela(MovimentoProdutos) onde tenha como campos o codigo do pedido e o codigo do produto e a quantidade vendida.
A cada laço fazer o update na tabela de estoque, fazendo a subtração na tabela de estoque com a quantidade vendida na tabela MovimentoProdutos.

Seria algo assim.




ZAION 23/09/2011 13:15:38
#385074
altair tentei assim e não deu certo, mas valeu vou esfriar um pouco a cabeça, e tentar depois

Dim item As Integer = 0
Dim baixa As String
txtquantidades.Text = item
For x = 0 To DataGridView1.RowCount - 1
baixa = DataGridView2.Rows(item).Cells(2).Value
If command.ExecuteNonQuery Then
command.CommandText = [Ô]UPDATE bac SET diferenca=Estocado - Itens + [Ô] & txtquantidades.Text & [Ô] WHERE Codigo_CO=[Ô] & txtcodigo_produto.Text
item = +1
End If
Next x
ALTAIR148 23/09/2011 13:21:11
#385075
Cara não seria bem isso ai não. Segue a dica do amigo FOXMAN, o ideal seria mesmo criar stored proceduras para realizar esse update.
Caso não saiba, procure na net sobre o assunto que tem muitaaaa coisa mesmo.

Até mais.
FOXMAN 23/09/2011 16:24:48
#385120

Mas a idéia é essa mesmo, para quem quer trabalhar com 2 ou mais camadas deve estruturar o banco de modo a permitr uma atualização como essa.
Não há a necessidade de ficar criando enormes quantidades de códigos no sistema, sendo que é bem mais fácil a utilização do banco para essa finalidade.

Resumidamente, se você tiver uma venda com 10 items irá passar para a SP apenas o codigo da venda(desde que vc vá armazenando temporariamente cada item vendido em uma tabela temporaria), essa SP irá fazer o update do estoque baseado no codigo do pedido, codigo do produto e quantidade a ser lançada.

Por exemplo, aqui para eu fazer um login basta apenas eu ter as seguintes linhas de códigos.

Acesso = new BLLAcesso();
if(Acesso.Conecta([Ô]FoxMan[Ô], [Ô]1234[Ô], [Ô]nomebase[Ô], [Ô]localhost[Ô], [Ô]frmMain[Ô], Assembly.GetExecutingAssembly()))
{
this.Hide();
return;
}
this.lblretorno.Text = [Ô]Não foi possível estabelecer uma conexão com o banco de dados.Possíveis causas Nome/Senha de usuário inválido ou servidor não existe!!![Ô];





Página 2 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas