webForumDet fria alternativet

Extra databas-rad som är tom

ASP

8 svar · 282 visningar · startad av zlakker

Medlem sedan apr. 2001227 inlägg
Frågan#1

När jag skapar en ny databas-rad med lite information så skapas först radeb som jag tänkt mig, men sedan skapas även en helt tom rad. Så när jag listar vad som finns i databasen är det ett mellanrum hela tiden.

Problemet borde ligga i koden när man skapar själva raden.
Om man skapar raden manuellt i databasen och listar dem så blir det inget fel. Alltså bara när jag skapar genom min hemsida.


<% Visa = "SELECT * FROM tblUser"
		   RecSet.Open Visa, Connect, 3, 3
		
RecSet.AddNew
RecSet("Name") = Request.Form("name")
RecSet("Username") = Request.Form("username")
RecSet("Password") = Request.Form("password")
RecSet("Mail") = Request.Form("mail")
RecSet("Access") = Request.Form("access")
RecSet.Update %>
		

		
<%	RecSet.Close
			End If %>
Medlem sedan juni 200032 967 inlägg
#2

Fungerar det bättre om du använder en riktig INSERT-query istället för att lägga till data med ADO?

Medlem sedan apr. 2001227 inlägg
#3

Inte testat :(

Är det någon stor nackdel att göra såhär alltså?

Medlem sedan mars 20033 686 inlägg
#4

Uppenbarligen! :)

Medlem sedan apr. 2001227 inlägg
#5

Hehe ja det har du rätt i. Men problemet är att det fungerade i början så jag vet inte riktigt vad jag kan ha kommit åt.

Medlem sedan juni 200032 967 inlägg
#6

Har du ingen mer kod än koden ovan som exekveras?

Medlem sedan apr. 2001227 inlägg
#7

mer kod

Här kommer hel koden för att skapa och titta på användare:


<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/dbse.mdb")
	Set RecSet = Server.CreateObject("ADODB.Recordset") 
%>

<% '=============================== %>
<% ' Skapa användare %>
<% '=============================== %>

<%	If Request.QueryString("alt") = "createuser" Then %>

	<font size="1" face="verdana, arial">
	
	<b>Skapa ny användare</b><p>

	<form method="POST" action="admin_user.asp?alt=create">

	<b>Namn</b><br>
	<input type="text" size="30" name="name" style="font-size: 8pt; font-family: verdana, arial"><p>
	
	<b>Typ</b><br>
	<input type="text" size="30" name="type" style="font-size: 8pt; font-family: verdana, arial"><p>
	
	<b>Användarnamn</b><br>
	<input type="text" size="30" name="username" style="font-size: 8pt; font-family: verdana, arial"><p>

	<b>Lösenord</b><br>
	<input type="text" size="30" name="password" style="font-size: 8pt; font-family: verdana, arial"><p>

	<b>E-post</b><br>
	<input type="text" size="30" name="mail" style="font-size: 8pt; font-family: verdana, arial"><p>

	<b>Behörighet</b><br>
	<input type="radio" name="access" value="a">A-access (admin)<br>
	<input type="radio" name="access" value="b">B-access (användare)<br>
	<input type="radio" name="access" value="c">C-access (användare)<br>
	<input type="radio" name="access" value="d">D-access (användare)<br><br>
	<input type="submit" value="Skapa nytt konto" style="font-size: 8pt; font-family: verdana, arial">

	</form>
	
	</font>
					
<%	ElseIf Request.QueryString("alt") = "create" Then %>

	<font size="1" face="verdana, arial">

	<b>Ny användare skapad!</b><p>

<% Visa = "SELECT * FROM tblUser"
   RecSet.Open Visa, Connect, 3, 3

	RecSet.AddNew
	RecSet("Name") = Request.Form("name")
	RecSet("Type") = Request.Form("type")
	RecSet("Username") = Request.Form("username")
	RecSet("Password") = Request.Form("password")
	RecSet("Mail") = Request.Form("mail")
	RecSet("Access") = Request.Form("access")
	RecSet.Update %>

	</font>

<%	RecSet.Close
	End If %>

<% '============================== %>
<% ' Lista användare %>
<% '============================== %>

<%	If Request.QueryString("alt") = "viewusers" Then %>

			
<% Visa = "SELECT * FROM tblUser"
   RecSet.Open Visa, Connect, 3, 3 %>

	<table border="0" cellpadding="2" cellspacing="2">

	<tr>
	<td bgcolor="#BDBDBD" width="130"><font size="1" face="verdana, arial"><b>Namn</b></font></td>
	<td bgcolor="#BDBDBD" width="110"><font size="1" face="verdana, arial"><b>Typ</b></font></td>
	<td bgcolor="#BDBDBD" width="180"><font size="1" face="verdana, arial"><b>E-post</b></font></td>
	<td bgcolor="#BDBDBD" width="65" align="center"><font size="1" face="verdana, arial"><b>Behörighet</b></font></td>
	<td bgcolor="#BDBDBD" width="68" align="center"><font size="1" face="verdana, arial"><b>Redigera</b></font></td>
	</tr>

<%	Do While Not RecSet.EOF %>

	<tr BGCOLOR="#F3F3F3" onMouseOver="this.style.backgroundColor='#5B7F4F';" onMouseOut="this.style.backgroundColor='';" >
	<td><font size="1" face="verdana, arial"><% =RecSet("Name") %></font></td>
	<td><font size="1" face="verdana, arial"><% =RecSet("Type") %></font></td>
	<td><font size="1" face="verdana, arial"><a href="mailto:<% =RecSet("Mail") %>"><% =RecSet("Mail") %></a></font></td>
	<td align="center"><font size="1" face="verdana, arial"><% =RecSet("Access") %></font></td>
	<td align="center"><font size="1" face="verdana, arial"><a href="admin_user.asp?userid=<% =RecSet("Username") %>&alt=edit">Redigera</a></font></td>
	</tr>
	
<%	RecSet.MoveNext
	Loop %>
	</table>
<%	RecSet.Close
	End If %>
Medlem sedan juni 200032 967 inlägg
#8

Jag kan inte se att koden du postar skulle generera en tom post, men jag råder dig ändå att prova att skriva en INSERT istället för att lägga till data med ADO.

Medlem sedan apr. 2001227 inlägg
#9

Ok får testa med det.
Kan du ge några tips på hur jag ska skriva en insert?

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)