webForumDet fria alternativet

Fel när Användarnamn finns

ASP

8 svar · 187 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Har en kod som ser ut så här:

<%
   Dim mySmartUpload
dim Conn
'  Variables
'  *********
'  Object creation
'  ***************
   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
%>
<%
SQL2="SELECT * From Master, Kunder WHERE Master.Username='"& mySmartUpload.Form("Username") &"' Or Kunder.Username='"& mySmartUpload.Form("Username") &"'"
set rst=conn.execute(SQL2)
%>
<%
if not rst.eof then
response.write "Användarnamnet är upptaget, gå tillbaka och försök igen   </tr></table></td></tr></table>"
else
%>
<%
   Dim intCount
'  Upload
'  ******
   mySmartUpload.Upload

'  Save the files with their original names in a virtual path of the web server
'  ****************************************************************************
   intCount = mySmartUpload.Save("../upload/kunder")
   ' sample with a physical path 
   ' intCount = mySmartUpload.Save("c:\temp\")

'  Display the number of files uploaded
'  ************************************
   Response.Write(intCount & " <font class=iebla>filer upladdade.</font>")
%>
          <!--#include virtual="unisafe\admin\anders.inc"-->
          <%
set rs= Server.CreateObject("ADODB.Recordset")
SQL= "SELECT * FROM Kunder WHERE 1=2"
rs.Open SQL,Conn,1,2
rs.AddNew
For each file In mySmartUpload.Files
rs(file.name)=file.filename
next
rs("Namn")=mySmartUpload.Form("Namn")
rs("Webadress") =mySmartUpload.Form("Webadress")
rs("Username") =mySmartUpload.Form("Username")
rs("Password") =mySmartUpload.Form("Password")
rs("Foretag") =mySmartUpload.Form("Foretag")
rs("Adress") =mySmartUpload.Form("Adress")
rs("Postnr") =mySmartUpload.Form("Postnr")
rs("Ort") =mySmartUpload.Form("Ort")
rs("Land") =mySmartUpload.Form("Land")
rs("Tel") =mySmartUpload.Form("Tel")
rs("Fax") =mySmartUpload.Form("Fax")
rs("Mobil") =mySmartUpload.Form("Mobil")
rs("Email") =mySmartUpload.Form("Email")
rs("Ovrigt") =mySmartUpload.Form("Ovrigt")
rs("Rabatt") =mySmartUpload.Form("Rabatt")
rs("Valkom") =mySmartUpload.Form("Valkom")
rs("Ovrigt2") =mySmartUpload.Form("Ovrigt2")
rs("Ovrigt3") =mySmartUpload.Form("Ovrigt3")
rs("Accessgroup") =mySmartUpload.Form("Accessgroup")
rs("Saljare") =mySmartUpload.Form("Saljare")
rs("Fil1")=mySmartUpload.Files(1).Filename
rs("Fil1namn") =mySmartUpload.Form("Fil1namn")
rs("Fil2")=mySmartUpload.Files(2).Filename
rs("Fil2namn") =mySmartUpload.Form("Fil2namn")
rs("Fil3")=mySmartUpload.Files(3).Filename
rs("Fil3namn") =mySmartUpload.Form("Fil3namn")
rs("Fil4")=mySmartUpload.Files(4).Filename
rs("Fil4namn") =mySmartUpload.Form("Fil4namn")
rs("Fil5")=mySmartUpload.Files(5).Filename
rs("Fil5namn") =mySmartUpload.Form("Fil5namn")
rs.Update
%>
<%End If %>

Får fel när man försöker lägga till ett Username som redan finns!

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][Drivrutin för ODBC Microsoft Access]Fel i rad
/unisafe/admin/kund2.asp, line 90

Line 90:
rs.Update

Men den koden ska ju inte köras om namnet redan finns!?

[Redigerat av aleborg den 04 mar 2001]

Medlem sedan dec. 1999653 inlägg
#2

hmm... varför har du skrivit:
if not rst.eof then

ska de inte vara:
if rst.eof then

bara en tanke...

MVH

------------------
nakoz :)

Medlem sedan jan. 20013 341 inlägg
#3

Det trodde jag också, men det funkar på andra sidor!

Medlem sedan dec. 19998 577 inlägg
#4

Nä, den biten är helt rätt... .eof får du ju om du inte har några poster... och har du inga poster så finns inte användarnamnet... alltså, NOT .eof är om användarnamnet redan finns...

Mvh, Vide

------------------
Jourhavande @e SweQuake.com

Medlem sedan jan. 20013 341 inlägg
#5

Men vad är felet?

Medlem sedan dec. 200012 464 inlägg
#6

När du gör din select för att undersöka om namnet finns så använder du mySmartUpload.Form("Username") . Var sätts det värdet? Du har ju bara skapat själva objektet innan. Om det värdet är odefinierat så kommer din select aldrig att hitta någon post.

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 20013 341 inlägg
#7

Hur menar du att jag ska göra då?

Medlem sedan dec. 200012 464 inlägg
#8

Jag kan ingenting om smartupload men jag gissar att värdena fylls i när man gör detta anrop:


intCount = mySmartUpload.Save("../upload/kunder")

Om det är så så får du lägga din kontroll, om användaren finns, efter detta anrop.

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 20013 341 inlägg
#9

Japp det stämde, tack! :)

530 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
402 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)