Jump to content
dArkStyle

[Resolvido] Criando Connection String no formulário de login

Recommended Posts

dArkStyle

Boas,

Estou a desenvolver um software em Delphi em que desejava conectar a base dados mas pedir os dados antes necessários, servidor, password, nome da bd etc.

Pergunto se me poderiam ajudar a corrigir ou sugerir outro método para realizar a conexão a uma base dados SQL SERVER a partir de dados que são pedidos ao utilizador antes de efectuar login (não pressupostos no programa)

Código do botão Entrar:

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
///try                aqui vou fazer um except para dizer se a conexao entra ou nao.

datamodule1.biblioteca_gestor.ConnectionString:='"Provider=SQLOLEDB.1;Password='+edit4.text{passowrdbasedados}+';Persist Security Info=True;User ID='+edit3.text{userbasedados}+';Initial Catalog='+edit6.text{nomebasedados}+';Data Source='+edit5.text{servidor/nome pc/instancia}+';Use Procedure for Prepare=1;'+'Auto Translate=True;Packet Size=4096;Workstation ID='+{NOME PC}+';Use Encryption for Data=False;Tag with column collation when possible=False'; 


// FIM DO EXCEPT E DARA A MENSAGEM CASO DE ALGUM ERRO (CASO A RESOLVER MAIS TARDE)


datamodule1.biblioteca_gestor.Connected:=true;

///  MENSAGEM DE ERRO NA CONEXAO-----VERIFIQUE AS PROPRIEDADES DA SUA LIGAÇÃO




//          ---------------------LOGIN - BASE DADOS
DataModule1.ADOQuery_user.Close;
DataModule1.ADOQuery_user.Sql.Clear;
DataModule1.ADOQuery_user.Sql.Add
('SELECT * FROM utilizadores WHERE palavrachave LIKE '''+edit2.Text+''' and utilizador LIKE '''+edit1.Text+'''');
DataModule1.ADOQuery_user.open;

If DataModule1.ADOQuery_user.RecordCount > 0 then      //verifica se foi encontrado registro
//Encontrado registro
begin
form2.Showmodal;


end
else
// se não encontrar registro
begin
ShowMessage('Password/username estão incorrectos!');
end;
end;

Caso não seja assim que deva fazer para conectar a base dados peço que me digam sff. Já procurei por todo o lado e não encontro nada que me explique.

Agradeço desde ja a ajuda de todos os que me poderem ajudar.

cumpz


Stephane SoaresCurso Profissional de Gestão e Programação de Sistemas InformáticosACEITAM-SE PROPOSTAS DE TRABALHO "FREELANCER"

Share this post


Link to post
Share on other sites
nunopicado

Não uso o ADO, mas sim o Zeos, para as conexões, mas se percebi o teu problema, não tens como comparar o username/password que o utilizador mete com o que tens dentro da bd (pois antes tens de conectar) é isso?

Se for, podes ir por varios caminhos.

Entre eles podes por exemplo ter um user criado no SQL, com uma pass secreta (tipo administração) que crias no sql server ao instalar o programa...

A partir daí, podes aceder à BD com esse user só para verificar a lista de utilizadores, e depois, caso o username/password exista e esteja correcto, voltas a fazer o login à bd com o user em questão.

Se o teu problema for com o ADO propriamente dito, e como o usar, não te sei ajudar, mas nesse caso sugiro que testes o ZEOS Lib, que permite conexão a inumeros tipos de bases de dados, e de forma ultra-simples! (e para melhorar, é gratis).


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
dArkStyle

Do genero, eu tencionava permitir ao utilizador escolher o servidor onde esta a base dados, user e pass de acesso para o projecto ser o mais versatil possivel... so que nao estou a conseguir colocar o valor das edit's no meio da connection string.

sera que estou a elabora-la de modo errado?


Stephane SoaresCurso Profissional de Gestão e Programação de Sistemas InformáticosACEITAM-SE PROPOSTAS DE TRABALHO "FREELANCER"

Share this post


Link to post
Share on other sites
dArkStyle

Ja consegui resolver o problema :)

obrigado nunopicado pela dica  :D talvez venha um dia a usar.

por agora o ADO ja funciona correctamente.

cumpz


Stephane SoaresCurso Profissional de Gestão e Programação de Sistemas InformáticosACEITAM-SE PROPOSTAS DE TRABALHO "FREELANCER"

Share this post


Link to post
Share on other sites
nunopicado

:) De nada...

Já agora, diz qual foi a solução para o caso de outros utilizadores terem o mesmo problema...  :D


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
dArkStyle

era um erro dentro da concatenaçao da string.

basta colocarem ou em variaveis ou em caixas de texto e funcionará correctamente.

Comecei a fazer a connectionstring do inicio sem esquecer promenores e funcionou. Portanto é so fazerem igual :D

Achas que posso colocar um tuturial com um codigo para download para quem quiser ver tudo completo nesta parte do login e conexao a base dados?


Stephane SoaresCurso Profissional de Gestão e Programação de Sistemas InformáticosACEITAM-SE PROPOSTAS DE TRABALHO "FREELANCER"

Share this post


Link to post
Share on other sites
nunopicado

Isso é sempre interessante, ou num topico ou mesmo na wiki do Portugal a Programar...

Não te sei dizer ao certo qual a melhor secção para colocar o tuturial, mas com certeza um moderador poderá informar isso. De qualquer maneira, quanto mais não seja aqui neste tópico, é sempre bom!  :D


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
dArkStyle

ok. Logo a noite irei entao tratar disso  :cheesygrin:

cumpz


Stephane SoaresCurso Profissional de Gestão e Programação de Sistemas InformáticosACEITAM-SE PROPOSTAS DE TRABALHO "FREELANCER"

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.