Dúvida: Visual Basic.Net 2010[RESOLVIDO]

7 respostas
Marcio_Nogueira

Minha dúvida é a seguinte:
Quero fazer um insert em uma tabela sendo que passo os valores a serem inseridos através de variáveis no campo value da instrução insert.
Como posso fazer isso?
Desde já agradeço a atenção. :wink:

7 Respostas

Marcio_Nogueira

Meu insert está assim: Dim sql As String = "insert into usuario(nome,login,senha) values(@strNome,@strLogin,@strSenha)"

gomesrod

Pra falar a verdade não sei se dá pra fazer isso em SQL, usar variáveis em instruções isoladas - quer dizer, fora de procedures.

Você costuma fazer isso em outras linguagens?

F
Dim oConexao as New SqlConnection("server= SERVIDOR;database=BANCO;uid=USUARIO;pwd=SENHA;")

Dim sql as String="insert into TABELA values(@campo1,@campo2,@campo3)"

Dim oComando as New SqlCommand (sql,oConexao)

oComando.Parameters.Add(New SqlParameter("@campo1",SqlDBType.Varchar,30))
oComando.Parameters("@campo1").Value = "Teste1"

oComando.Parameters.Add(New SqlParameter("@campo2",SqlDBType.Varchar,30))
oComando.Parameters("@campo2").Value = "Teste2"

oComando.Parameters.Add(New SqlParameter("@campo3",SqlDBType.Varchar,30))
oComando.Parameters("@campo3").Value = "Teste3"

oConexao .open()
oComando.ExecuteNonQuery()
oConexao .close()
Marcio_Nogueira
Fiz o seguinte código:
Dim nome As String, login As String, senha As String
        Dim strConexao As String = "Provider=MSDAORA;Data Source=localhost;Persist Security Info=True;User ID=Marcio"
        Dim strSql As String = "insert into usuario values(@nome,@login,@senha)"
        Dim ds As New DataSet("usuario")
        Dim conn As New OleDb.OleDbConnection(strConexao)
        Dim comm As New OleDb.OleDbCommand(strSql, conn)

        nome = txtNome.Text
        login = txtUsuario.Text
        senha = txtSenha.Text

        Try
            conn.Open()
            comm.ExecuteNonQuery()

        Catch ex As Exception

        End Try
Está correto ou falta algo?
F

Arrumei para você

Dim nome As String, login As String, senha As String
        Dim strConexao As String = "Provider=MSDAORA;Data Source=localhost;Persist Security Info=True;User ID=Marcio"
        Dim strSql As String = "insert into usuario values(@nome,@login,@senha)"
        Dim ds As New DataSet("usuario")
        Dim conn As New OleDb.OleDbConnection(strConexao)
        Dim comm As New OleDb.OleDbCommand(strSql, conn)

        comm.Parameters.Add(New SqlParameter("@nome",SqlDBType.Varchar,30))  
        comm.Parameters("@nome").Value = txtNome.Text
        comm.Parameters.Add(New SqlParameter("@login",SqlDBType.Varchar,30))  
        comm.Parameters("@login").Value = txtUsuario.Text
        comm.Parameters.Add(New SqlParameter("@senha",SqlDBType.Varchar,30))  
        comm.Parameters("@senha").Value = txtSenha.Text

        Try
            conn.Open()
            comm.ExecuteNonQuery()

        Catch ex As Exception

        End Try

Ali onde esta escrito SqlDBType.Varchar,30, favor trocar pelo tipo de campo da tua tabela e tamanho do campo. Tu não usa a senha no banco criptografada? Pq dai tu tem que usar a função PWDENCRIPT do SQLSERVER no teu SQL.

Marcio_Nogueira

Muito obrigado pela ajuda, só mais uma dúvida: como coloco a minha semha de usuário na minha string de conexão?

gomesrod

valeu, aprendi mais uma tambem :slight_smile:

Criado 5 de janeiro de 2012
Ultima resposta 5 de jan. de 2012
Respostas 7
Participantes 3