Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola a todos que virem este tópico, estou precisando de uma ajuda!
A coisa de uma semana, foi me imposto a construção de um projecto em visual basic para gerir uma biblioteca escolar!
Estou precisando de ajuda porque já abordei o vb, mas nunca com base de dados, e ainda por cima esta dificil controlar a construção do projecto.
Ao inicio comecei a construção do projecto com dataset's , mas começou a gerar muitos erros no projecto.
Agora encontro-me na construção do projecto atraves de codigo!
Já construi as tabelas e consigo introduzir os valores que pretendo.
Mas agora precisava de ajuda, alguem me poderia ajudar com o codigo para adicionar os valores de uma tabela numa combobox!
A minha tabela é a seguinte: Nome:Genero_leitor campos: id_gene_leitor;nome_gene_leitor
Eu pretendo dentro de uma combobox(campo nome_gene_leitor) que pertence a tabela leitor!
Agradeco com especial atenção!
Tenho uma dúvida! Tenho um formulario que tem o seguinte código no botão registar:
Imports System.Data.SqlClient
Imports System.Text.RegularExpressions
--------------------------------------------
Dim myConnectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\USERS\MARCIO OLIVEIRA\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\name\name\name.MDF';Integrated Security=True;User Instance=True"
Dim SQL As String = "INSERT INTO leitores([nome_leitor],[genero_leitor],[n_contribuinte],[n_bi],[data_nasc],[data_regist],[sexo],[contacto],[e_mail],[nome_curso],[numero_aluno],[Distrito],[conselho],[Freguesia],[codigo_postal],[localidade],[rua_bairro],[Obs]) VALUES(@nome_leitor,@genero_leitor,@n_contribuinte,@n_bi,@data_nasc,@data_regist,@sexo,@contacto,@e_mail,@nome_curso,@numero_aluno,@Distrito,@conselho,@Freguesia,@codigo_postal,@localidade,@rua_bairro,@Obs);"
Dim connection As New SqlConnection(myConnectionString)
[color="#00FF00"]' Criação do comando indicando a instrução e a ligação[/color]
Dim command As New SqlCommand(SQL, connection)
command.Parameters.Add("@nome_leitor", SqlDbType.VarChar).Value = CStr(TextBox1.Text)
command.Parameters.Add("@genero_leitor", SqlDbType.VarChar).Value = CStr(ComboBox1.Text)
command.Parameters.Add("@n_contribuinte", SqlDbType.Int).Value = (TextBox2.Text)
command.Parameters.Add("@n_bi", SqlDbType.Int).Value = (TextBox3.Text)
command.Parameters.Add("@data_nasc", SqlDbType.DateTime).Value = CDate(TextBox4.Text)
command.Parameters.Add("@data_regist", SqlDbType.DateTime).Value = CDate(TextBox5.Text)
command.Parameters.Add("@sexo", SqlDbType.VarChar).Value = (ComboBox2.Text)
command.Parameters.Add("@contacto", SqlDbType.Int).Value = (TextBox6.Text)
' EmailAddressCheck(TextBox7.Text)
command.Parameters.Add("@e_mail", SqlDbType.VarChar).Value = CStr(TextBox7.Text)
command.Parameters.Add("@nome_curso", SqlDbType.VarChar).Value = (TextBox8.Text)
command.Parameters.Add("@numero_aluno", SqlDbType.Int).Value = (TextBox9.Text)
command.Parameters.Add("@Distrito", SqlDbType.VarChar).Value = (TextBox10.Text)
command.Parameters.Add("@conselho", SqlDbType.VarChar).Value = (TextBox11.Text)
command.Parameters.Add("@Freguesia", SqlDbType.VarChar).Value = (TextBox12.Text)
command.Parameters.Add("@codigo_postal", SqlDbType.Int).Value = (TextBox13.Text)
command.Parameters.Add("@localidade", SqlDbType.VarChar).Value = (TextBox14.Text)
command.Parameters.Add("@rua_bairro", SqlDbType.VarChar).Value = (TextBox15.Text)
command.Parameters.Add("@Obs", SqlDbType.VarChar).Value = (RichTextBox1.Text)
' Abre a ligação, executa o comando e guarda em "x" o número de registos inseridos
connection.Open()
Dim x As integer = command.ExecuteNonQuery()
'command.ExecuteNonQuery()
If CInt(x) < 1 Then
MessageBox.Show("LAMENTAMOS MAS A OPERAÇÃO efectuada não retomou qualquer resultado.")
Else
MessageBox.Show("Novo leitor registado com sucesso!", _
End If
connection.Close()
connection = Nothing
command = Nothing
Alguem me podia ajudar com este codigo porque me esta a dar o seguinte erro:Não foi possível converter o valor do parâmetro de String para Int32.
como é que eu resolvo esta situação!
precisava urgentemente de ajuda
Agradecimentos!
Marcio, estou transferindo seu tópico para Plataforma .Net Windows Application por se tratar de VB.Net.
Este é um dos erros que tem no seu código, tem outros iguais:
command.Parameters.Add("@numero_aluno", SqlDbType.Int).Value = (TextBox9.Text)
Ta vendo que o tipo do parâmetro é Int, ou seja ele espera um valo inteiro, e o Text do TextBox é do tipo string.
O correto seria:
command.Parameters.Add("@numero_aluno", SqlDbType.Int).Value = int.Parse(TextBox9.Text)
Obs.: Isto é muito básico, estude mais sobre vb.net, veja o site do macoratti.
Abraços...
Muito obrigado antes de mais!
Será que seria possivel me indicar algum site onde aborde esse modo de utilizar o
Integer.Parse
É que de momento não estou a perceber
COLOQUEI ISSO E DA-ME o seguinte erro
"Cadeia de caracteres de entrada com formato incorrecto."
Eu postei sintaxe de c#, nem reparei. De uma lida: http://www.macoratti.net/vbn_cast.htm
Abraços...
Quanto ao erro do Int32 continuo a espera formas para resolver esse problema!
Quem tiver ideias para resolver isto aceito todas as sugestoes.
Convert.INT32(aa.text)Não sei se é assim ...Encontro-me perdido
Estou precisando ajuda no seguinte codigo:
Dim myConnectionString As String = "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\USERS\MARCIO OLIVEIRA\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\FODAXE\FODAXE\FODAXE.MDF';Integrated Security=True;User Instance=True"
Dim SQL As String = " SELECT MIN(id_autor) FROM autor"
Dim connection As New SqlConnection(myConnectionString)
Dim command As New SqlCommand(SQL, connection)
connection.Open()
Dim total As Integer = command.ExecuteScalar()
'Debug.WriteLine("primeiro registo inserido = " + total.ToString)
Dim xx As Integer
xx = total
connection.Close()
connection = Nothing
command = Nothing
Dim myConnectionStringa As String = "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\USERS\MARCIO OLIVEIRA\DOCUMENTS\VISUAL STUDIO 2008\PROJECTS\FODAXE\FODAXE\FODAXE.MDF';Integrated Security=True;User Instance=True" Dim SQLx As String = "SELECT * FROM autor WHERE [id_autor] =" & xx & ""
Dim connectione As New SqlConnection(myConnectionStringa)
Dim commande As New SqlCommand(SQLx, connectione)
connectione.Open()
Dim readers As SqlDataReader = commande.ExecuteReader()
If readers.HasRows = False And xx <> 0 And readers.HasRows < maxima Then
GoTo z
End If
If readers.HasRows Then
While readers.Read()
Debug.WriteLine(readers.Item("id_autor"))
TextBox2.Text = (readers.Item("id_autor"))
Debug.WriteLine(readers.Item("nome_autor"))
TextBox1.Text = (readers.Item("nome_autor"))
Button4.Enabled = False
Button3.Enabled = False
End While
End If
connectione.Close()
connectione = Nothing
commande = Nothing
Button5.Enabled = True
Button6.Enabled = Trueid_autor 10
nome_autor Sergio Ramos
o proximo registo depois de click no button será
id_auto 9
nome_autor Fernando Pessoa
Alguem me poderia ajudar a por restrições numa text
tenho o seguinte codigo:
If Not Char.IsLetter(e.KeyChar) And Not e.KeyChar = vbBack Then
e.Handled = True
End IfMas este não esta a executar como eu queroTenho a caixa de texto que so deve aceitar letras e espaços, como se faz isso!
Agradecimento por especial atenção
Olá marcio, primeiramente seja bem vindo ao fórum.
Poste aqui como está fazendo sua conexão para te ajudar melhor.
Mas basicamente, o que tem que fazer é rodar toda sua tabela com um loop e ajuda do movenext de ser recordset inserindo valor por valor no combo, usando a propriedade addnew.
Se tiver dúvidas poste ai.