sql server - iniciante

19/01/2006

amigos,

estou tento problema com o sql server....

criei um simples projeto para testar a conexão com o banco e estou encontrando erros...

fiz assim:

coloquei um TADOconnection e um TADOquery

no TADOconnection mudei as seguintes propriedades:

- connected = TRUE
- connectionstring = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=teste;Data Source=192.168.0.254;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=teste-FERNANDO;Use Encryption for Data=False;Tag with column collation when possible=False

- Loginprompt = FALSE

e no TADOquery mudei

- Active = TRUE
- connection = ADOConnection1
- SQL = select * from tbl_usuarios

depois disso adicionei um Tbutton e no onclick coloquei:



with c do
          begin
           sql.Clear;
           sql.Add(´select * from tbl_usuarios WHERE usuario = "framos" order by usuario´);
           open;

             if eof then
               begin
               showmessage(´nlogado´);
               end
             else
               begin
               showmessage(´logado´);
               end;

          end;


sendo ´c´ o Tadoquery

ao iniciar o projeto e clicar no botão..o seguinte erro aparece:

Project project1.exe raised exception classes Eoleexception with message ´Invalid column name ´framos". Process stopped. Use step or run to continue


porém se eu mudar no onclick do botão o sql para apenas

select * from tbl_usuarios


funciona legal....

no sql server dei todas as permissões e tipo do campo usuario é text....

se alguem puder me ajudar...


Fernando_ramos

Respostas

19/01/2006

Marcelo_op

bom dia....
altera seu codigo pra esse .

sql.Add(´select * from tbl_usuarios WHERE usuario = ´ + #39 + ´framos´ + 39 + ´order by usuario´);

espero ter te ajudado.
t+


Responder Citar

19/01/2006

Fernando_ramos

amigo..
boa tarde...

coloquei o seu codigo e o seguinte erro apareceu....

Project project1.exe raised exception classes Eoleexception with message  ´the text, ntext, and image data types cannot be compared or sorted except when using IS NULL or LIKE operator´.Process stopped. Use step or run to continue


fico no aguardo...


Responder Citar

19/01/2006

Rjun

Qual o tipo do seu campo usuario? Como a mensagem diz, os tipos Text, NText e Image não podem fazer parte da claúsula Order By.


Responder Citar

19/01/2006

Macario

bom dia.... altera seu codigo pra esse . sql.Add(´select * from tbl_usuarios WHERE usuario = ´ + #39 + ´framos´ + 39 + ´order by usuario´); espero ter te ajudado. t+


Ola

Para maior clareza e facilidade tente sempre uma dessas duas opçoes:

[b:a7da652636]opção 1[/b:a7da652636]
sql.Add(´select * from TBL_USUARIOS´);
sql.Add(´where USUARIO = ´ + QuotedStr(´framos´) );
sql.Add(´order by USUARIO´);


[b:a7da652636]opção 2[/b:a7da652636]
with c do 
  begin 
     sql.Clear; 
     sql.Add(´select * from TBL_USUARIOS´);
     sql.Add(´where USUARIO = :Parametro´);
     sql.Add(´order by USUARIO´);
     Params.ParamByName(´Parametro´).asString := Edit1.text;
     open; 
  end;


Espero que ajude.

E fico no aguardo sobre o tipo do campo. :arrow:


Responder Citar

19/01/2006

Fernando_ramos

amigos,
agradeço pelas respostas...

o problema foi resolvio da seguinte forma:



with c do begin sql.Clear; sql.Add(´select * from tbl_usuarios WHERE usuario = [b:28eea02c4b]´ ´[/b:28eea02c4b] framos [b:28eea02c4b]´ ´ [/b:28eea02c4b]order by usuario´); open; if eof then begin showmessage(´nlogado´); end else begin showmessage(´logado´); end; end;


colocando duas aspas simples!!


Responder Citar