DATAGRIDVIEW [VB.NET]

EDLIMA 21/02/2012 14:28:38
#395193
Boa tarde, eu estou tentando salvar as atualização que faço diretamente no datagridview e não consigo, tentei usar o codigo que peguei no forum:
For i = 0 To DataGridView1.RowCount - 1
comando = [Ô]INSERT INTO exemplo (id, texto) VALUES ([ô][Ô] & DataGridView1.Item([Ô]id[Ô], i).Value & [Ô][ô],[ô][Ô] & DataGridView1.Item([Ô]texto[Ô], i).Value & [Ô][ô]);[Ô]
Try
executar = comando.ExecuteReader
executar.Read()
comando.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK)
Finally
Conexao.Conexao.Close()
End Try
Next

Pois gera um erro dizendo que o obejeto datagridview é uma objeto data e não pode ser tratado com string
i.Por favor me ajudem. Uso o Mysql.
ALTAIR148 21/02/2012 14:58:24
#395195
Resposta escolhida
Boa tarde,

Estou sem o VS aqui mas veja se o codigo abaixo resolve.

For i = 0 To DataGridView1.RowCount - 1
comando = [Ô]INSERT INTO exemplo (id, texto) VALUES ([ô][Ô] & DataGridView1.Rows(i).cel([Ô]id[Ô]).Value & [Ô][ô],[ô][Ô] & DataGridView1.rows(i)/cell([Ô]texto[Ô]).Value & [Ô][ô])[Ô]
Try
executar = comando.ExecuteReader
executar.Read()
comando.ExecuteNonQuery()
Catch ex As Exception

MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK)
Finally
Conexao.Conexao.Close()
End Try
Next
EDLIMA 21/02/2012 15:08:28
#395196
ALTAIR, aparentemente o codigo esta certo mais ainda fica aparecendo essa mensagem:

[txt-color=#e80000]Não é possível converter um objeto do tipo [ô]System.String[ô] no tipo [ô]System.Data.Odbc.OdbcCommand[ô].[/txt-color]

para mim e como se ele tenta converter as informções ou algo parecido e não consegue.
ALTAIR148 21/02/2012 15:14:12
#395197
For i = 0 To DataGridView1.RowCount - 1
comando = [Ô]INSERT INTO exemplo (id, texto) VALUES ([ô][Ô] & DataGridView1.Item([Ô]id[Ô], i).Value & [Ô][ô],[ô][Ô] & DataGridView1.Item([Ô]texto[Ô], i).Value & [Ô][ô]);[Ô]
Try
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK)
Finally
Conexao.Conexao.Close()
End Try
Next



Se nao der certo, posta o codigo inteiro.
EDLIMA 21/02/2012 15:56:01
#395202
[txt-color=#0000f0]Esse é o codigo que estou utilizando:

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Conexao.conectar()
Conexao.Conexao.Open()
Dim comando As New Odbc.OdbcCommand()
Dim executar As Odbc.OdbcDataReader
comando.Connection = Conexao.Conexao

For i = 0 To DataGridView1.RowCount - 1
comando = [Ô]INSERT INTO exemplo (id, texto) VALUES ([ô][Ô] & DataGridView1.Item([Ô]id[Ô], i).Value & [Ô][ô],[ô][Ô] & DataGridView1.Item([Ô]texto[Ô], i).Value & [Ô][ô]);[Ô]
Try
executar = comando.ExecuteReader
executar.Read()
comando.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK)
Finally
Conexao.Conexao.Close()
End Try
Next
End Sub[/txt-color]
Uso ele em um button.
ALTAIR148 21/02/2012 16:28:39
#395206
Bom, pelo que olhei tinha algumas coisas errada, dei uma modificada e olha se vai servir.

Conexao.Conexao.Open()

Dim SQL as string

For i = 0 To DataGridView1.RowCount - 1
sql = [Ô]INSERT INTO exemplo (id, texto) VALUES ([ô][Ô] & DataGridView1.Rows(i).cel([Ô]id[Ô]).Value & [Ô][ô],[ô][Ô] & DataGridView1.rows(i).cell([Ô]texto[Ô]).Value & [Ô][ô])[Ô]
Try

Dim comando = New Odbc.OdbcCommand(sql, conexao)
comando.executenonquery
comando.dispose
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK)
Finally
conexao.Conexao.Close()
End Try
Next
EDLIMA 21/02/2012 16:56:02
#395210
ALTAIR148, Eu te agradeço pela força, parou de gerar aquele erro mais ainda nao consigo salvar as informaçoes pelo datagrid.
Eu acho que estou cometendo um erro. Vou te explicar o que eu realmente estou precisando, eu preciso fazer atulizações no datagridview .

Ex: gostaira de mudar a informação do campo texto e depois clicar no botão atualizar e ele salvaria a alteração no banco atraves do datagrid.

Acho q estou fazendo isso da forma errada.
ALTAIR148 21/02/2012 17:01:29
#395211
Sem o VS as vezes é complicado, mas tenta agora com o codigo abaixo e veja se vai inserir algo.

Try
Conexao.Conexao.Open()

Dim SQL as string

For i = 0 To DataGridView1.RowCount - 1
sql = [Ô]INSERT INTO exemplo (id, texto) VALUES ([Ô]1[Ô], [Ô]2[Ô])[Ô]

Dim comando = New Odbc.OdbcCommand(sql, conexao.open)
comando.executenonquery
Next
comando.dispose
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro[Ô], MessageBoxButtons.OK)
Finally
conexao.Conexao.Close()
End Try
Tópico encerrado , respostas não são mais permitidas