ERRO PARA CARREGAR O DATAGRID
Boa noite, estou fazendo uma rotina para ler uma tabela e atribuir em um DataGridView, só que esta dando um erro em uma array.
o erro esta acima
alguem pode me ajudar ?
SQL = [Ô]SELECT * FROM itenscompra WHERE codcompra =[ô][Ô] & NumeroCompra & [Ô][ô][Ô]
Dim cmd As New MySqlCommand(SQL, conn)
Dim dr As MySqlDataReader = cmd.ExecuteReader()
Dim nColunas As Integer = dr.FieldCount
For i As Integer = 0 To nColunas - 1
My.Forms.frmCompraSoja.dgvCompraSoja.Columns.Add(dr.GetName(i).ToString(), dr.GetName(i).ToString())
Next
Dim linhaDados As String() = New String(nColunas - 1)
While dr.Read()
For a As Integer = 0 To nColunas - 1
If dr.GetFieldType(a).ToString() = [Ô]System.Int32[Ô] Then
linhaDados(a) = dr.GetInt32(a).ToString()
End If
If dr.GetFieldType(a).ToString() = [Ô]System.String[Ô] Then
linhaDados(a) = dr.GetString(a).ToString()
End If
If dr.GetFieldType(a).ToString() = [Ô]System.DateTime[Ô] Then
linhaDados(a) = dr.GetDateTime(a).ToString()
End If
Next
My.Forms.frmCompraSoja.dgvCompraSoja.Rows.Add(linhaDados)
End While
fecharconn()
o erro esta acima
alguem pode me ajudar ?
Com certeza absoluta você está fazendo da forma mais arcaica possÃvel. O correto seria usar OOP e nunca mais ter este tipo de problemas. Tenho um canal no youtube onde explico isso e muito mais.
amigo estou começando agora, foi o que consegui achar e estou atrasando a minha entrada em OOP com medo de não conseguir intender por não saber o mais basico de desenvolvimento.
Citação::
opa boa noite amigo, o video que tem o material sobre esse assunto vc pode me passar o link direto ?
obrigado
Este é o primeiro da série. Acompanhe toda ela e veja como a OOP é benéfica.
opa amigo estou vendo aqui vou começar ... mais se puder me dar uma mão com esse erro .. assim tiver um dominio tento mudar usando oop.
Se soubesse quantas vezes ouvi coisas assim... kkkk
Mas enfim, para servir de [Ô]quebra-galho[Ô](que na maioria das vezes, fica quebrado pra sempre), use um DataTable. Ele pode ser passado diretamente como fonte de dados(DataSource) do DataGridView:
Não esqueça de mudar os valores da connection string e do comando SQL
Mas enfim, para servir de [Ô]quebra-galho[Ô](que na maioria das vezes, fica quebrado pra sempre), use um DataTable. Ele pode ser passado diretamente como fonte de dados(DataSource) do DataGridView:
Dim constring As String = [Ô]Sua connection string vai aqui[Ô]
Using con As New MySqlConnection(constring)
Using cmd As New MySqlCommand([Ô]Seu comando SQL Vai aqui[Ô], con)
cmd.CommandType = CommandType.Text
Using sda As New MySqlDataAdapter(cmd)
Using dt As New DataTable()
sda.Fill(dt)
dataGridView1.DataSource = dt
End Using
End Using
End Using
End Using
Não esqueça de mudar os valores da connection string e do comando SQL
Mesmo assim, insisto para que assista os vÃdeos, você vai ver o quanto estava [Ô]fazendo errado[Ô] esse tempo todo, tendo uma maneira MUITO, MAS MUITO mais simples e ao mesmo tempo poderosa de se fazer. Dominando OOP, você praticamente NUNCA MAIS vai precisar perguntar nada em fóruns, rarÃssimas exceções para coisas muito fora do normal.
ja comecei o primeiro aqui ... a hora que vc falou de data travei aqui um tempo em um campo de data na primeira parte do insert ... lembrei do perrengue que passei aqui .... kkk
Esse que você passou deu a seguinte mensagem: Connection must be valid and open
deu certo eu que fiz uma confusão aqui ...
amigo muito obrigado pela ajuda e pelo o conselho sobre seus videos assistirei todos ... abraços
amigo muito obrigado pela ajuda e pelo o conselho sobre seus videos assistirei todos ... abraços
Fiz na pressa e nem verifiquei sintaxe nem nada. Faltou abrir a conexão...
Assim deve funcionar...
Dim constring As String = [Ô]Sua connection string vai aqui[Ô]
Using con As New MySqlConnection(constring)
con.Open()
Using cmd As New MySqlCommand([Ô]Seu comando SQL Vai aqui[Ô], con)
cmd.CommandType = CommandType.Text
Using sda As New MySqlDataAdapter(cmd)
Using dt As New DataTable()
sda.Fill(dt)
dataGridView1.DataSource = dt [ô]não se esqueça de aqui, apontar para o Grid ao qual deseja passar os dados... [Ô]dataGridView1[Ô] é um nome genérico...
End Using
End Using
End Using
End Using
Assim deve funcionar...
Tópico encerrado , respostas não são mais permitidas