Inquiridor
Como converter um codigo escrito em C# para Vb.net e Linq To SQL?

Pergunta
-
Boa tarde!
Alguem me ajuda a converter este codigo para vb.net e linq to sql? Este é um poste de alguem e eu to com a mesma dificuldade e quero fazer a mesma coisa, mas to a usar Vb.Net e Linq to Sql, alguem me ajuda a fazer a mesma coisa?
Em minhas participações e contribuições nos fóruns da MSDN uma dúvida muito comum é: como enviar os dados inseridos em um DataGridView para o Banco de Dados, tendo isto em mente criei este post com um exemplo bem simples.
No exemplo os dados são inseridos em um DataGridView e no Click de um botão percorro os itens e persisto na Base de Dados SqlCompact e em um segundo DataGridView exibo os dados persistidos segue a tela com os componentes visuais:
Segue abaixo o Código cs do formulário com todas as operações, o mesmo está todo comentado!
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117using
System;
using
System.Data.SqlServerCe;
using
System.Windows.Forms;
namespace
DataGridViewParaBD
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
private
void
Form1_Load(
object
sender, EventArgs e)
{
CarregaGrid();
//informo quantas colunas
//o dgvClientes térá
dgvClientes.ColumnCount = 3;
//Informo os nomes das colunas do dgvClientes
dgvClientes.Columns[0].Name =
"Nome"
;
dgvClientes.Columns[1].Name =
"E-mail"
;
dgvClientes.Columns[2].Name =
"Telefone"
;
}
//Clique do botão adicionar
//insiro os itens no dgvclientes
private
void
btnAdicionar_Click(
object
sender, EventArgs e)
{
dgvClientes.Rows.Add(txtNome.Text, txtEmail.Text, txtTelefone.Text);
//limpo os controles
txtNome.Text = String.Empty;
txtEmail.Text = String.Empty;
txtTelefone.Text = String.Empty;
}
//Método para Inserir que
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++)
{
//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();
}
//cçlique do botão Gravar
private
void
btnGravarNoBD_Click(
object
sender, EventArgs e)
{
//Chamo o método
Inserir();
CarregaGrid();
//limpo as linhas no DataGridView
dgvClientes.Rows.Clear();
}
//Método para carregar o dataGridView1
//com os dados persistidos na base
private
void
CarregaGrid()
{
//limpo as linhas
dataGridView1.Rows.Clear();
//indico o número de colunas
dataGridView1.ColumnCount = 4;
//Instância da conexão onde passo a
//ConnectionString você tem que passar a sua
var
conn =
new
SqlCeConnection(
@"Data Source=|DataDirectory|\Exemplo.sdf"
);
//sql que será executado na tabela cliente
var
sql =
"SELECT * FROM Cliente"
;
//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();
//instâncio o leitor
var
leitor = cmd.ExecuteReader();
//enquanto leitor está lendo
while
(leitor.Read())
{
//insiro os dados no dataGridView1
dataGridView1.Rows.Add(leitor[0].ToString(),
leitor[1].ToString(),
leitor[2].ToString(),
leitor[3].ToString());
}
//fecho conexão
conn.Close();
}
}
}
Obrigado e aguardo
Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server
Todas as Respostas
-
Imports System.Data.SqlServerCe Imports System.Windows.Forms Namespace DataGridViewParaBD Public Partial Class Form1 Inherits Form Public Sub New() InitializeComponent() End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) CarregaGrid() 'informo quantas colunas 'o dgvClientes térá dgvClientes.ColumnCount = 3 'Informo os nomes das colunas do dgvClientes dgvClientes.Columns(0).Name = "Nome" dgvClientes.Columns(1).Name = "E-mail" dgvClientes.Columns(2).Name = "Telefone" End Sub 'Clique do botão adicionar 'insiro os itens no dgvclientes Private Sub btnAdicionar_Click(sender As Object, e As EventArgs) dgvClientes.Rows.Add(txtNome.Text, txtEmail.Text, txtTelefone.Text) 'limpo os controles txtNome.Text = [String].Empty txtEmail.Text = [String].Empty txtTelefone.Text = [String].Empty End Sub 'Método para Inserir que Private Sub Inserir() 'Instância da conexão onde passo a 'ConnectionString Dim conn = New SqlCeConnection("Data Source=|DataDirectory|\Exemplo.sdf") 'sql que será executado na tabela cliente Dim 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 Dim cmd = New SqlCeCommand(sql, conn) 'abro a conexão conn.Open() 'percorro o DataGridView For i As Integer = 0 To dgvClientes.Rows.Count - 2 '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() Next 'Fecho conexão conn.Close() End Sub 'cçlique do botão Gravar Private Sub btnGravarNoBD_Click(sender As Object, e As EventArgs) 'Chamo o método Inserir() CarregaGrid() 'limpo as linhas no DataGridView dgvClientes.Rows.Clear() End Sub 'Método para carregar o dataGridView1 'com os dados persistidos na base Private Sub CarregaGrid() 'limpo as linhas dataGridView1.Rows.Clear() 'indico o número de colunas dataGridView1.ColumnCount = 4 'Instância da conexão onde passo a 'ConnectionString você tem que passar a sua Dim conn = New SqlCeConnection("Data Source=|DataDirectory|\Exemplo.sdf") 'sql que será executado na tabela cliente Dim sql = "SELECT * FROM Cliente" 'instância do comando onde passo 'o sql e a conexão como parâmetro Dim cmd = New SqlCeCommand(sql, conn) 'abro a conexão conn.Open() 'instâncio o leitor Dim leitor = cmd.ExecuteReader() 'enquanto leitor está lendo While leitor.Read() 'insiro os dados no dataGridView1 dataGridView1.Rows.Add(leitor(0).ToString(), leitor(1).ToString(), leitor(2).ToString(), leitor(3).ToString()) End While 'fecho conexão conn.Close() End Sub End Class End Namespace
http://www.developerfusion.com/tools/convert/csharp-to-vb/
Marque como resposta se foi útil!
- Sugerido como Resposta Deric Ferreira terça-feira, 21 de outubro de 2014 13:09