marcio899 0 Denunciar post Postado Março 6, 2010 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! Compartilhar este post Link para o post Compartilhar em outros sites
Claudio Neto 3 Denunciar post Postado Março 9, 2010 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. Compartilhar este post Link para o post Compartilhar em outros sites
marcio899 0 Denunciar post Postado Março 10, 2010 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! Compartilhar este post Link para o post Compartilhar em outros sites
Claudio Neto 3 Denunciar post Postado Março 11, 2010 Marcio, estou transferindo seu tópico para Plataforma .Net Windows Application por se tratar de VB.Net. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 12, 2010 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... Compartilhar este post Link para o post Compartilhar em outros sites
marcio899 0 Denunciar post Postado Março 12, 2010 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." Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 12, 2010 Eu postei sintaxe de c#, nem reparei. De uma lida: http://www.macoratti.net/vbn_cast.htm Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
marcio899 0 Denunciar post Postado Março 14, 2010 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" z: 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 = True Algem me poderia dizer se esta é uma maneira correcta, ou se existe maneira + facil de fazer percorrer a minha tabela guardando os dados nas caixas de texto id_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 Compartilhar este post Link para o post Compartilhar em outros sites