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

  • 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:

    Tela do exemplo.

    Segue abaixo o Código cs do formulário com todas as operações, o mesmo está todo comentado!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    using 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

    domingo, 11 de maio de 2014 16:24

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
    terça-feira, 21 de outubro de 2014 13:09