SALVAR DADOS DE DATAGRID E TEXBOX NUMA TABELA SQL

GABSC 30/04/2012 00:44:41
#401026
estou fazendo um projeto em VB 2010,onde tenho as seguintes tabelas no SQL


create table vendas(
cod_venda int not null primary key,
cli_nome varchar(60),
ven_operador varchar(20),
ven_data varchar(12),
ven_valortatal varchar(15)
);

create table detalhesvendas(
cod_venda int not null FOREIGN KEY(cod_venda)REFERENCES vendas(cod_venda),
ven_codproduto int not null,
VEN_ITEM INT NOT NULL identity(1,1),
nome_produto varchar(80),
ven_artproduto varchar(80),
ven_qtd int,
ven_preço varchar(10),
ven_subtotal varchar(10)
);

Gostaria de salvar os dados do datagridview juntamente com dados de uma textbox, alguém poderia me dizer como posso fazer isso?
outra dúvida é no VEM_ITEM gostaria que gerasse os números dos iten por cada código de venda,quando for uma nova venda o código do item voltasse pro 1.
por exemplo:

VENDA 1 VENDA 2
ITEM ITEM
001 001
002 002
003 003

achei o seguinte código:
select max(VEN_ITEM) from DETALHESVENDAS where COD_VENDA=COD_VENDA

e fiz o seguinte:

[txt-color=#0000f0]For i = 0 To TAB_VENDA.DataGridView1.Rows.Count - 1
comando.CommandText = ([Ô]INSERT INTO detalhesvendas(ven_item,cod_venda,ven_codproduto,nome_produto,ven_artproduto,ven_qtd,ven_preço,ven_subtotal)Values(select max(VEN_ITEM)+1 from DETALHESVENDAS where COD_VENDA=COD_VENDA[ô][Ô] & _
[Ô](TAB_VENDA.cod_venda.text [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]column1[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]column2[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]artista[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]c[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]v[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]column3[Ô], i).Value & [Ô][ô])[Ô])
Next
comando.ExecuteNonQuery()
Desconectar()[/txt-color]


Esse código muito errado mas não sei como arrumar!
Quem puder me ajude!

obrigada!

ALTAIR148 30/04/2012 07:39:33
#401028
Bom dia,

Tente fazer assim, assim ao percorrer o grid, o CodigoItem vai gerar um código de acordo com a quantidade de itens:. Exemplo

1
2
3
4
....

E por ai vai....


Dim CodigoItem as integer = 1
For i = 0 To TAB_VENDA.DataGridView1.Rows.Count - 1
comando.CommandText = ([Ô]INSERT INTO detalhesvendas(ven_item,cod_venda,ven_codproduto,nome_produto,ven_artproduto,ven_qtd,ven_preço,ven_subtotal)Values(select max(VEN_ITEM)+1 from DETALHESVENDAS where COD_VENDA=COD_VENDA[ô][Ô] & _
[Ô]( CodigoItem [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]column1[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]column2[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]artista[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]c[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]v[Ô], i).Value & [Ô][ô],[ô][Ô] & _
TAB_VENDA.DataGridView1.Item([Ô]column3[Ô], i).Value & [Ô][ô])[Ô])
CodigoItem +=1
Next
comando.ExecuteNonQuery()
Desconectar()
Tópico encerrado , respostas não são mais permitidas