Usuário com melhor resposta
converter codigo c# para codigo em vb

Pergunta
-
Boa tarde gente,
Tenho esse codigo encontrado na internet clarro do Pablo Batista feito em c# FUNCIONA DIREITINHO
private void Inserir()
{
//Instância da conexão onde passo a
//ConnectionString
var conn = new SqlCeConnection(@"Data Source=|DataDirectory|\Exemplo.sdf");
//sql que será executado na tabela cliente
var sql = "INSERT INTO Cliente (Nome, Email, Telefone) " +
"VALUES (@Nome, @Email, @Telefone)";
//instância do comando onde passo
//o sql e a conexão como parâmetro
var cmd = new SqlCeCommand(sql, conn);
//abro a conexão
conn.Open();
//percorro o DataGridView
for (int i = 0; i < dgvClientes.Rows.Count - 1; i++) // essa linha percorre o gridview até que fique vazio e salva os dados na banco de dados
{
//limpo os parâmetros
cmd.Parameters.Clear();
//crio os parâmetro do comando
//e passo as linhas do dgvClientes para eles
//onde a célula indica a coluna do dgv
cmd.Parameters.AddWithValue("@Nome",
dgvClientes.Rows[i].Cells[0].Value);
cmd.Parameters.AddWithValue("@Email",
dgvClientes.Rows[i].Cells[1].Value);
cmd.Parameters.AddWithValue("@Telefone",
dgvClientes.Rows[i].Cells[2].Value);
//executo o comando
cmd.ExecuteNonQuery();
}
//Fecho conexão
conn.Close();
}Converti para vb como segue:
Private Sub Inserir12()
'Instância da conexão onde passo a
'ConnectionString
Dim conn = New SqlConnection("Data Source=NASCIMENTO\SQLEXPRESS;Initial Catalog=Aplicativo;Integrated Security=True")
'sql que será executado na tabela cliente
Dim sql = "INSERT INTO Pedidos (Produto,Valor,Quantidade,Total) " + "VALUES (@Produto,@Valor,@Quantidade,@Total)"
'instância do comando onde passo
'o sql e a conexão como parâmetro
Dim cmd = New SqlCommand(sql, conn)
'abro a conexão
conn.Open()
'percorro o DataGridView
For i As Integer = 0 To GridViewCexta.Rows.Count - 1 ' Essa linha aqui em vb não percorre o gridview, salva um unico registro
'limpo os parâmetros
cmd.Parameters.Clear()
'crio os parâmetro do comando
'e passo as linhas do dgvClientes para eles
'onde a célula indica a coluna do dgv
cmd.Parameters.AddWithValue("@produto", GridViewCexta.Rows(i).Cells(2).Text) 'Aqui não aceita a propriedade value
cmd.Parameters.AddWithValue("@quantidade", GridViewCexta.Rows(i).Cells(3).Text) ' como em c# o codigo de cima
cmd.Parameters.AddWithValue("@Valor", GridViewCexta.Rows(i).Cells(4).Text)
cmd.Parameters.AddWithValue("@Total", GridViewCexta.Rows(i).Cells(5).Text)
'executo o comando
cmd.ExecuteNonQuery()
Next
'Fecho conexão
conn.Close()
End SubSe alguem poder me ajudar resolver essa parada agradeço muito.
Estou trabalhando com o vb 2010 banco de dados mysql
José do Nascimento Lima Vieira
- Editado José do Nascimento terça-feira, 9 de fevereiro de 2016 18:26
Respostas
-
-
Boa tarde,
obrigado pelos links enviados, mas eu resolvi assim
For i As Integer = 0 To GridViewCexta.Rows.Count - 1 ' Essa linha aqui em vb não percorre o gridview, salva um unico registro
'limpo os parâmetros
cmd.Parameters.Clear()
'crio os parâmetro do comando
'e passo as linhas do dgvClientes para eles
'onde a célula indica a coluna do dgv
cmd.Parameters.AddWithValue("@produto", GridViewCexta.Rows(i).Cells(2).Text) 'Aqui não aceita a propriedade value
cmd.Parameters.AddWithValue("@quantidade", GridViewCexta.Rows(i).Cells(3).Text) ' como em c# o codigo de cima
cmd.Parameters.AddWithValue("@Valor", GridViewCexta.Rows(i).Cells(4).Text)
cmd.Parameters.AddWithValue("@Total", GridViewCexta.Rows(i).Cells(5).Text)
'executo o comando
cmd.ExecuteNonQuery() ' Acrescentei esse código aqui verificando se o gridview está vazio, casoif "contrario ele volta novamente no gridview e pega os dados e vai salvando
GridViewCexta.Rows.Count = vbEmpty Then 'até acabar
Return
Else
Next
'Fecho conexão
conn.Close()end fi
End Sub
Fica aí a dica para quem tiver com essa mesma dúvida.
Obrigado
José do Nascimento Lima Vieira
- Editado José do Nascimento quarta-feira, 10 de fevereiro de 2016 21:45
- Marcado como Resposta Marcos SJ quinta-feira, 11 de fevereiro de 2016 12:01
Todas as Respostas
-
- Sugerido como Resposta SimorC terça-feira, 9 de fevereiro de 2016 19:24
-
-
Boa tarde,
obrigado pelos links enviados, mas eu resolvi assim
For i As Integer = 0 To GridViewCexta.Rows.Count - 1 ' Essa linha aqui em vb não percorre o gridview, salva um unico registro
'limpo os parâmetros
cmd.Parameters.Clear()
'crio os parâmetro do comando
'e passo as linhas do dgvClientes para eles
'onde a célula indica a coluna do dgv
cmd.Parameters.AddWithValue("@produto", GridViewCexta.Rows(i).Cells(2).Text) 'Aqui não aceita a propriedade value
cmd.Parameters.AddWithValue("@quantidade", GridViewCexta.Rows(i).Cells(3).Text) ' como em c# o codigo de cima
cmd.Parameters.AddWithValue("@Valor", GridViewCexta.Rows(i).Cells(4).Text)
cmd.Parameters.AddWithValue("@Total", GridViewCexta.Rows(i).Cells(5).Text)
'executo o comando
cmd.ExecuteNonQuery() ' Acrescentei esse código aqui verificando se o gridview está vazio, casoif "contrario ele volta novamente no gridview e pega os dados e vai salvando
GridViewCexta.Rows.Count = vbEmpty Then 'até acabar
Return
Else
Next
'Fecho conexão
conn.Close()end fi
End Sub
Fica aí a dica para quem tiver com essa mesma dúvida.
Obrigado
José do Nascimento Lima Vieira
- Editado José do Nascimento quarta-feira, 10 de fevereiro de 2016 21:45
- Marcado como Resposta Marcos SJ quinta-feira, 11 de fevereiro de 2016 12:01