Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

razs

rs.fields, recordcount=0 e order by não funcionam

Recommended Posts

tira as aspas de username também isso que está te quebrando mas deixe os %% senão é o mesmo que não ter LIKE

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz como indicaste agora da este erro:

 

 

Microsoft JET Database Engine error '80040e14'

 

Syntax error in query expression 'username LIKE %ras%'.

 

/usercorc/generalview.asp, line 25

 

ficou assim

instotal = "SELECT * FROM users WHERE "& tbl&" LIKE %"&tbl1&"%"

 

isto na me parece bem, tenho aqui qualquer coisa mal mas esta query nao me parece correcta

Compartilhar este post


Link para o post
Compartilhar em outros sites

no LIKE tem que ter aspas

 

faça assim

 

SELECT * FROM users WHERE username LIKE '%admin%'

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito :) obrigado mais uma vez.

 

Ultima duvida, só mais esta e prometo que so volto a chatear para o ano :)

 

 

Num form para registar utilizadores tenho 3 select, um com dias, mes e ano, queria intruduzir tudo num campo defenido como data.

 

fiz assim mas nao parece estar a resultar

rs.fields("data_nasc")=request.form("Date_Birth_day")&"-"&request.form("Date_Birth_month")&"-"&request.form("Date_Birth_year")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já testou se está resgatando corretamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei se fiz bem mas fiz assim:

 

Response.Write "("&request.form("Date_Birth_day")&"-"&request.form("Date_Birth_month")&"-"&request.form("Date_Birth_year")&")"

 

e deu-me isto

 

(--)

 

Provider error '80020005'

 

Type mismatch.

 

/usercorc/reguser.asp, line 335

 

 

linha 335

 

	rs.fields("data_nasc")=request.form("Date_Birth_day")&"-"&request.form("Date_Birth_month")&"-"&request.form("Date_Birth_year")

 

 

 

eu tenho este campo na bd defenido como date/time (short date) (dd-mm-aaaa)

e nos selects tenho defenido os dias e meses com dois digitos e os anos com 4

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo resultado nada está vindo

 

os nomes dos campos no formulario são esses mesmo?

 

Date_Birth_day Date_Birth_month Date_Birth_year

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu não acredito nisto, agora quando fui verificar pela 10 vez e que me apercebi que nao tinha under score....

 

<select size="1" name="Date Birth_year" id="">

<select size="1" name="Date Birth_month" id="">

<select size="1" name="Date Birth_day" id="">

 

Já funciona, obrigado e desculpa esta idiotice.

 

ele confirma que inserio o utilizador mas este nao aparece na lista de utilizadores, alguma razao?

 

Ele confirma que inseriu o utilizador mas depois tento ver na lista de utilizador e nao aparece, depois tentei fazer login com o novo user e tambem nao deu.

 


<%
set conn = CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.Oledb.4.0"
conn.Open Server.MapPath("db/12345678.mdb")
set rs=server.createobject("adodb.recordset")

if request.form("insform.x")>0 then
addusers
end if

sub addusers()

if request.form("E-mail")="" or request.form("Name")="" or request.form("LastName")="" or request.form("Username")="" or request.form("Password")="" or request.form("Institution")="" or request.form("Study")="" or request.form("Study")="Choose" or request.form("Date_Birth_day")="" or request.form("Date_Birth_day")="Day" or request.form("Date_Birth_month")="" or request.form("Date_Birth_month")="Month" or request.form("Date_Birth_year")="" or request.form("Date_Birth_year")="Year" then 	

	response.write ("Please fill all fields mark with (*). ")

else

   instotal = "select * from users"
rs.open instotal,conn,2,2	
rs.addnew


rs.fields("email")=request.form("E-mail")
   rs.fields("nome")=request.form("Name")
   rs.fields("data_reg")=date()
rs.fields("last_name")=request.form("LastName")
rs.fields("username")=request.form("Username")
rs.fields("password")=request.form("Password")	
rs.fields("center")=request.form("Institution")
rs.fields("study")=request.form("Study")
rs.fields("website")=request.form("Website")
rs.fields("data_nasc")=request.form("Date_Birth_day")&"-"&request.form("Date_Birth_month")&"-"&request.form("Date_Birth_year")
rs.fields("morada")=request.form("Address")
rs.fields("cidade")=request.form("City")
rs.fields("pais")=request.form("Country")
rs.fields("position")=request.form("Team_Position")
rs.fields("telefone")=request.form("Telephone")
rs.fields("add_by")=Session("user")

	response.write ("User inserted successfully.")

   end if

end sub
conn.close
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao criar instruções SQL no ASP, você pode encontrar um dos seguintes erros,Este erro é devido a uma das seguintes coisas:

 

Um nome de domínio foi digitado incorretamente.

Um ou mais dos valores em branco.

Você tentou inserir o tipo de dados errado (por exemplo, cercado um valor numérico com aspas, ou se esqueceu de colocar aspas em torno de uma string).

 

Para solucionar isso, response.write sua instrução SQL.Verifique se há dados para todos os parâmetros que você está passando, e comparar os nomes das colunas diretamente com aqueles na tabela.

 

Você também pode usar este método response.write para copiar a instrução SQL e executá-lo diretamente no banco de dados, se a mensagem de erro ea instrução response.write não estão dando-lhe informações suficientes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resultou :D apenas acrescentei &"" a tua linha, muito obrigado já andava a dar em doido...

 

 

Em relação a esta situação:

 

set conn = CreateObject("ADODB.Connection")
		conn.Provider = "Microsoft.Jet.Oledb.4.0"
		conn.Open Server.MapPath("db/12345678.mdb")
		set rs=server.createobject("adodb.recordset")
		instotal = "SELECT * FROM users WHERE '" & tbl& "' LIKE '%" &tbl1& "%'" 
		rs.open instotal,conn,1,3

 

os response.write sql da

(SELECT * FROM users WHERE 'username' LIKE '%admin%')

 

Mesmo tirando as % do select da isto

(SELECT * FROM users WHERE 'username' LIKE 'admin')

 

se eu fizer um record count ele devolve 0 embora aquele user exista

 

se tirar as plicas como no caso anterior ele da erro

 

a linha 25 é esta

 

rs.open instotal,conn,1,3

 

 

Cara você tem que tirar as aspas do campo da tabela, depos de WHERE, não pode ter aspas porque se trata de um campo e nao de variável:

 

instotal = "SELECT * FROM users WHERE " & tbl& " LIKE '%" &tbl1& "%'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.