EXCLUSAO DIRETO NO GRID

ROBFERREIRAA 18/10/2012 10:51:04
#412249
gente estou tetando excluir os dados do meu bd direto do grid mais nao esta rolando alguem pode me dar uma luz
obrigado

If cboSalva.Text = [Ô]Finalizado[Ô] Then
For Each r As DataGridViewRow In DGBAIXA.Rows
Try
Dim com As SqlConnection
[ô] Dim x As Boolean
[ô]conecta à base de dados
com = New SqlConnection()
com.ConnectionString = [Ô]server=10.50.66.146; uid=Admin; pwd=mesa123; database=CTR[Ô]
[ô]verifica a conecção.
Dim SQL As String = [Ô]DELETE from baixa WHERE Contrato_Mae[Ô]
Dim command As New SqlCommand(SQL, com)
r.Cells([Ô]Contrato_Mae[Ô]).Value = command
com.Open()
command.ExecuteNonQuery()
com.Close()
com = Nothing
command = Nothing
Catch exe As Exception
MessageBox.Show([Ô]Erro ao Efetuar a Importação [Ô] & exe.Message)
End Try
Next

MessageBox.Show([Ô]Importação e Atualização Efetuada com sucesso[Ô], [Ô]Importação[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
DGBAIXA.DataSource = Nothing
btnSalvar.Enabled = False
Exit Sub
End If
ADHEL 18/10/2012 11:07:21
#412250
Resposta escolhida
Dim contratoMae as atring

Coloca assim no evento CellClick do grid

contratoMae = gv.CurrentRow.Cells([Ô]NomeDaColunaDesejada[Ô]).Value
sql=[Ô] DELETE from baixa WHERE contratoMae[Ô]

Depois da exclusao você chama novamente a rotina que preenche o grid
ROBFERREIRAA 18/10/2012 12:30:16
#412264
nao esta rolando ainda deu o mesmo erro
ADHEL 18/10/2012 12:33:48
#412265
Vamos alterar um pouco
Dim IdContratoMae as string

idContratoMae = gv.CurrentRow.Cells([Ô]NomeDaColunaDesejada[Ô]).Value

sql=[Ô] DELETE from baixa WHERE contratoMae = idContratoMae[Ô]
ROBFERREIRAA 18/10/2012 13:00:53
#412267
no meu banco de dados esta assim o campo Contrato_Mae e no datagrid via data set tbm
e esta dando este erro
Uma expressao de tipo nao booleano especificada em um contexto no qual se espera uma condição, proximo a [ô]Contrato_Mae[ô]
ROBFERREIRAA 18/10/2012 13:06:43
#412268
consegui resolver obrigado codigo abaixo para quem passar por esse problema

For Each r As DataGridViewRow In DGBAIXA.Rows
Try
Dim com As SqlConnection
[ô] Dim x As Boolean
[ô]conecta à base de dados
com = New SqlConnection()
com.ConnectionString = [Ô]server=10.50.66.146; uid=Admin; pwd=mesa123; database=CTR[Ô]
[ô]verifica a conecção.
Dim SQL As String = [Ô]DELETE from baixa WHERE Contrato_Mae =Contrato_Mae[Ô]
Dim command As New SqlCommand(SQL, com)

[ô]
contratoMae = DGBAIXA.CurrentRow.Cells([Ô]Contrato_Mae[Ô]).Value
[ô]SQL = [Ô]DELETE from baixa WHERE Contrato_Mae =Contrato_Mae[Ô]
com.Open()
command.ExecuteNonQuery()
com.Close()
com = Nothing
command = Nothing
Catch exe As Exception
MessageBox.Show([Ô]Erro ao Efetuar a Importação [Ô] & exe.Message)
End Try
Next

MessageBox.Show([Ô]Importação e Atualização Efetuada com sucesso[Ô], [Ô]Importação[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
DGBAIXA.DataSource = Nothing
btnSalvar.Enabled = False
Exit Sub
End If
ROBFERREIRAA 24/10/2012 14:30:21
#412712
gente tinha feito o exemplo que o amigo Adhel mostrou deu certo mais so que em partes, desta forma acima ele exclui todos os dados da tabela gostaira de fazer de acordo com dado preenchido no grid na cel cod, tentei assim mais ele exclui somente a segunda linha e gostaria de excluir todos os dados do grid, estou usando assim :

Dim contratoMae As Integer
For Each r As DataGridViewRow In DGBAIXAA.Rows
Try
Dim com As New SqlConnection
[ô]conecta à base de dados
com.ConnectionString = [Ô]server=10.50.66.146; uid=Admin; pwd=mesa123; database=CTR[Ô]
[ô]verifica a conecção.
contratoMae = DGBAIXAA.CurrentRow.Cells([Ô]Cod[Ô]).Value
Dim SQL As String = [Ô]DELETE from baixa WHERE Cod=[Ô] & contratoMae
Dim command As New SqlCommand(SQL, com)

com.Open()
command.ExecuteNonQuery()
com.Close()
com = Nothing
command = Nothing
Catch exe As Exception
MessageBox.Show([Ô]Erro ao Efetuar a Importação [Ô] & exe.Message)
End Try
Next
ADHEL 24/10/2012 14:54:23
#412713
Coloca apenas isso no evento CellClick do DataGridView
contratoMae = DGBAIXAA.CurrentRow.Cells([Ô]Cod[Ô]).Value

e isso em algum botão
Dim com As New SqlConnection
[ô]conecta à base de dados
com.ConnectionString = [Ô]server=10.50.66.146; uid=Admin; pwd=mesa123; database=CTR[Ô]
[ô]verifica a conecção.
Dim SQL As String = [Ô]DELETE from baixa WHERE Cod=[Ô] & contratoMae
Dim command As New SqlCommand(SQL, com)
com.Open()
command.ExecuteNonQuery()
com.Close()
com = Nothing
command = Nothing
Catch exe As Exception
MessageBox.Show([Ô]Erro ao Efetuar a Importação [Ô] & exe.Message)
End Try

Desse jeito excluirá apenas um por vez
ROBFERREIRAA 24/10/2012 15:16:09
#412717
mais a intenção é excluir todos os dados listados grid tanto 1 como 1000 por isso estava dentro de um for
ADHEL 24/10/2012 15:24:11
#412718
Dim com As New SqlConnection
[ô]conecta à base de dados
com.ConnectionString = [Ô]server=10.50.66.146; uid=Admin; pwd=mesa123; database=CTR[Ô]
com.Open()

For i = 0 to DGBAIXAA.Rows.Count -1
Dim SQL As String = [Ô]DELETE from baixa WHERE Cod=[Ô] & DGBAIXAA.Rows(i).Cells([Ô]NOME_DA_COLUNA[Ô]).Value & [Ô][ô]
Dim command As New SqlCommand(SQL, com)
command.ExecuteNonQuery()
Next
com.Close()
com = Nothing
command = Nothing
ADHEL 24/10/2012 15:41:41
#412722
Veja agora

Dim com As New SqlConnection
[ô]conecta à base de dados
com.ConnectionString = [Ô]server=10.50.66.146; uid=Admin; pwd=mesa123; database=CTR[Ô]
com.Open()

For i = 0 to DGBAIXAA.Rows.Count -1
Dim SQL As String = [Ô]DELETE from baixa WHERE Cod=[ô][Ô] & DGBAIXAA.Rows(i).Cells([Ô]NOME_DA_COLUNA[Ô]).Value & [Ô][ô]
Dim command As New SqlCommand(SQL, com)
command.ExecuteNonQuery()
Next
com.Close()
com = Nothing
command = Nothing
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas