webForumDet fria alternativet

Extra databas-rad som är tom

8 svar · 280 visningar · startad av zlakker

zlakkerMedlem sedan apr. 2001227 inlägg
#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 %>
@ndersMedlem sedan juni 200032 969 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?

zlakkerMedlem sedan apr. 2001227 inlägg
#3

Inte testat :(

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

magnusfernstromMedlem sedan mars 20033 686 inlägg
#4

Uppenbarligen! :)

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

@ndersMedlem sedan juni 200032 969 inlägg
#6

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

zlakkerMedlem 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 %>
@ndersMedlem sedan juni 200032 969 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.

zlakkerMedlem 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?

138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)