kazzx Posted November 3, 2009 at 12:49 AM Report Share #294434 Posted November 3, 2009 at 12:49 AM viva, então é o seguinte .. tenho uma aplicação que já permite a inserção de dados numa base de dados (feita em Access), cada campo da tabela da base de dados recebe o valor introduzido em determinada caixa de texto da aplicação, até aqui tudo bem. bom, agora a minha questão é: num outro formulário da mesma aplicação tenho uma caixa de texto e um botão, eu queria que depois de escrever o nome na caixa de texto e carregar no botão, se esse nome que escrevi existir na base de dados apresentar por exemplo numa listbox e se não existir não apresentar nada.. acho que me fiz entender. obrigado, até à proxima. 👍 Link to comment Share on other sites More sharing options...
ribeiro55 Posted November 3, 2009 at 12:57 AM Report Share #294435 Posted November 3, 2009 at 12:57 AM COUNT() ? Basta uma query e consequente leitura de dados. Se usares os wizards, os binds e todas essas coisas estranhas (que curiosamente complicam muito mais um conceito que de si é muito simples) não te posso ser muito útil. Caso contrário, basta uma query do género: "SELECT COUNT(*) FROM Utilizadores WHERE Nome LIKE '%" & TextBox1.Text & "%'" Até te dou a solução caso quisesses usar o DataGate 👍 : 'Para meter num nível inferior Private DG As New GestorLigacoes 'Para meter, por exemplo num módulo de arranque DG.AdicionarLigacao(MSACCESS, "LigAcc") DG.Configurar("LigAcc", "c:\bd.mdb") 'O código de execução Dim Nome As String = "Zeca" Dim DT As DataTable = DG.Executar("LigAcc", "SELECT * FROM Utilizadores WHERE Nome LIKE '%" & Nome & "'%", Texto) If DT.Rows.Count = 0 Then MsgBox("Sem resultados") : Exit Sub For Each DR As DataRow In DT.Rows MsgBox("Encontrado: " & DR("Nome").ToString) Next Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
Gooden Posted November 3, 2009 at 09:43 AM Report Share #294444 Posted November 3, 2009 at 09:43 AM E ai está o ribeiro sempre a fazer publicidade aos seus softwares aUHahuhaUAhuAHau 👍 Bom outro metodo usando SQLClient ... Dim nome As String = "Nome" Dim da As New SqlClient.SqlDataAdapter("Select * from Clientes where nome like '%" & nome & "%'", cnn) Dim ds As New DataSet da.Fill(ds) If ds.Tables(0).Rows.Count = 0 Then MsgBox("Sem Clientes") Else For Each DR As DataRow In ds.Tables(0).Rows MsgBox("Encontrado: " & DR("Nome").ToString) Next End If Link to comment Share on other sites More sharing options...
ribeiro55 Posted November 3, 2009 at 01:25 PM Report Share #294478 Posted November 3, 2009 at 01:25 PM "aUHahuhaUAhuAHau" ? Não tenho o mínimo interesse em difundir software como o DataGate para proveito próprio. 👍 Apenas acho que é uma maneira simples de por as coisas, e por ser código é aberto serve de base de aprendizagem. Aliás, foi feito de propósito para um dos concursos de código livre. Internamente o DataGate até é parecido com o que tens aí. Só te esqueceste de mostrar a connection string, o que vai baralhar o rapaz. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
kazzx Posted November 3, 2009 at 07:10 PM Author Report Share #294552 Posted November 3, 2009 at 07:10 PM Confesso que fiquei baralhado, isto porque os meus conhecimentos em termos de SQL e ligações a bases de dados são nulos, ou quase. há que confessar. gostava de uma explicação detalhada de como proceder a essa operação.. se tenho de abrir a base de dados no código do outro formulário, que instruções tenho de dar para se o nome existir, aparecer por exemplo num datagridview logo abaixo da caixa de texto onde escrevi o nome a pesquisar.. essas coisas obrigado, cUmps 👍 Link to comment Share on other sites More sharing options...
ribeiro55 Posted November 3, 2009 at 07:14 PM Report Share #294553 Posted November 3, 2009 at 07:14 PM Então vamos lá começar por perceber como estás a fazer o que já tens. Como vais buscar os dados para fazer o que já estás a fazer ? Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
Gooden Posted November 3, 2009 at 07:32 PM Report Share #294555 Posted November 3, 2009 at 07:32 PM "aUHahuhaUAhuAHau" ? Não tenho o mínimo interesse em difundir software como o DataGate para proveito próprio. 👍 Apenas acho que é uma maneira simples de por as coisas, e por ser código é aberto serve de base de aprendizagem. Aliás, foi feito de propósito para um dos concursos de código livre. Internamente o DataGate até é parecido com o que tens aí. Só te esqueceste de mostrar a connection string, o que vai baralhar o rapaz. estava a brincar =( Link to comment Share on other sites More sharing options...
kazzx Posted November 3, 2009 at 09:32 PM Author Report Share #294581 Posted November 3, 2009 at 09:32 PM ora bem .. eu tenho uma aplicação que no futuro irá ter N funcionalidades, mas para já quero-me focar apenas nesta. então é o seguinte: eu tenho um formulário com várias caixas de texto, onde depois de inserir dados e clicar no botão 'Validar', esses dados são registados na base de dados. Exemplo: ao escrever o meu nome, localidade e morada em cada caixa de texto, estes dados são registados nos campos "Nome", "Localidade" e "Morada" de uma tabela da base de dados. Até aqui está tudo entendido certo? pronto. agora, e falando da minha questão, tenho outro formulário à parte com uma caixa de texto, um botão e um datagridview. a caixa de texto servirá para introduzir um nome. o botão servirá para percorrer a base de dados para procurar se o nome existe o datagridview servirá para apresentar o nome, se este existir (se não existir então apresentar uma mensagem ao utilizador do tipo 'Não existe registo' ou algo do género. basicamente, após a inserção de um nome, quero que apresente o nome no datagrid se existir e dar mensagem de aviso se não existir. pronto, acho que agora consegui ser explícito. já agora, o código que utilizei para permitir a inserção de dados na base de dados foi este: Private Sub btnvalida_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnvalida.Click Try Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\M a n e l\Ambiente de trabalho\Gerir Filas de Espera\Gerir Filas de Espera\DataBase\Fila de Espera.mdb" Dim SQL As String = "INSERT INTO Utilizadores ([Nome Completo],[Data de Nascimento], [E-Mail], [Telemóvel], [Morada], [sexo], [Localidade], [Profissão]) values (?,?,?,?,?,?,?,?)" Using ConnectionState As New OleDb.OleDbConnection(conn) Dim command As New OleDb.OleDbCommand(SQL, ConnectionState) command.Parameters.Add("Nome Completo", OleDb.OleDbType.VarChar).Value = txtnomecomp.Text command.Parameters.Add("Data de Nascimento", OleDb.OleDbType.DBDate).Value = dtpd.Text command.Parameters.Add("E-Mail", OleDb.OleDbType.VarChar).Value = txtemail.Text command.Parameters.Add("Telemóvel", OleDb.OleDbType.UnsignedInt).Value = txttelemovel.Text command.Parameters.Add("Morada", OleDb.OleDbType.VarChar).Value = txtmorada.Text command.Parameters.Add("Sexo", OleDb.OleDbType.VarChar).Value = cbsexo.Text command.Parameters.Add("Localidade", OleDb.OleDbType.VarChar).Value = cblocalidade.Text command.Parameters.Add("Profissão", OleDb.OleDbType.VarChar).Value = cbprofissao.Text ConnectionState.Open() Dim x As Integer = command.ExecuteNonQuery() If x <> 1 Then Throw New ArgumentException("Não foi possível...") End If MsgBox("Dados Inseridos", MsgBoxStyle.Information) txtemail.Clear() txtnomecomp.Clear() txttelemovel.Clear() txtmorada.Clear() txtlocalidade.Clear() cod1.Clear() cod2.Clear() cblocalidade.Text = Nothing cbprofissao.Text = Nothing cbsexo.Text = Nothing dtpd.Text = Nothing End Using Catch ex As Exception MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub agora, queria saber como fazer para a duvida que relatei agora. obrigado, ajudem-me 👍 Link to comment Share on other sites More sharing options...
kazzx Posted November 3, 2009 at 11:47 PM Author Report Share #294617 Posted November 3, 2009 at 11:47 PM eu tive ajuda de um professor nesse código e nos testes todos que fiz ao formulário de inserção de dados (aquele que mostrei o codigo), em nenhum me aparece a mensagem a dizer "Não foi possível.." como se pode ver na parte mais final do código... o que era suposto , ou melhor, quando era suposto aparecer essa mensagem? e o que fazem as funções de declarar a variavel 'x' ? confesso que foi o meu professor que me disse muito do código, pois como já disse ainda nao aprendi muito sobre SQL (interagindo com aplicações) e tenho de acabar um projecto para um 'cybercafe' que requer nas suas funcionalidades estas instruçoes SQL.. obrigado , 🙂 Link to comment Share on other sites More sharing options...
fLaSh_PT Posted November 4, 2009 at 12:06 AM Report Share #294625 Posted November 4, 2009 at 12:06 AM @kazzx Só uma observação, não é que tenho alguma coisa contra ao OleDb.. Mas acho que em .NET para MS SQL .. não é o mais apropriado visto que o .NET tem a class exclusiva para o MS SQL/MS Access .. SqlDataAdapter, SqlConnection, SqlCommand, etc.. Imports System.Data.SqlClient Compr. Making the impossible possible and pwing the world on db at a time. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now