Array
(
)

sql server - iniciante

Fernando_ramos
   - 19 jan 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:



#Código


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:

#Código

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

#Código

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...


Marcelo_op
   - 19 jan 2006

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+


Fernando_ramos
   - 19 jan 2006

amigo..
boa tarde...

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

#Código


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...


Rjun
   - 19 jan 2006

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.


Macario
   - 19 jan 2006


Citação:
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:

opção 1
#Código


sql.Add(´select * from TBL_USUARIOS´);
sql.Add(´where USUARIO = ´ + QuotedStr(´framos´) );
sql.Add(´order by USUARIO´);


opção 2
#Código

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:


Fernando_ramos
   - 19 jan 2006

amigos,
agradeço pelas respostas...

o problema foi resolvio da seguinte forma:




Citação:

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;



colocando duas aspas simples!!