webForumDet fria alternativet

Syntax error (missing operator) in query expression

7 svar · 1 031 visningar · startad av Schkauffel

SchkauffelMedlem sedan apr. 200434 inlägg
#1

Tjo, jag här igen och stör..

Jag vill ha en sorts tabell då som man kan lista upp alla nyheter man har skrivit och sedan kunna ta bort dom med en del knapp eller något sånt. ok! koden då där allt är fel antagligen..

först: error text

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'News ='.

/schkauffel/brodraskapet/deletenes.asp, line 11

<% 
Set myConn=Server.Createobject("ADODB.Connection")
myConn.Provider="Microsoft.Jet.OLEDB.4.0"
myConn.Open Server.mapPath("db1.mdb")

sqlDelete="DELETE * FROM tabell1 WHERE News ="& News & ";"
	
myconn.execute(sqlDelete) <--- det är rad 11

%>

huvud koden:

  <div class="main" style="font-family:verdana; font-size:9px; color:#000000;">
<%
do until rsText.EOF

	Datum = rsText("Datum")
	News = rsText("News")
		
	
%>
<table width="358" border="0" align="left">
  <tr>
    <th width="108" scope="col"><div align="left">News</div></th>
    <th width="49" scope="col"><div align="left">Datum</div></th>
  </tr>

<%
	
	rsText.MoveNext		'Nästa post

Loop

%>

 
<tr>
    <td scope="row"><div align="left"><%=news%></div></td>
    <td><div align="left"><%=datum%></div></td>
  </tr>

	</div>
@ndersMedlem sedan juni 200026 914 inlägg
#2

Variabeln News har inget värde när du skapar din SQL-fråga. Sätter du verkligen den ovanför i koden?

KarlssonMedlem sedan maj 2000240 inlägg
#3

jag är ju ingen klippa men prova;

sqlDelete="DELETE * FROM tabell1 WHERE News = '" & News & " ' "
SchkauffelMedlem sedan apr. 200434 inlägg
#4

jag kan klistra in hela koden så kan du få se, jag är otroligt nybörjare på sånt här...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<% 
Set myConn=Server.Createobject("ADODB.Connection")
myConn.Provider="Microsoft.Jet.OLEDB.4.0"
myConn.Open Server.mapPath("db1.mdb")

sqlDelete="DELETE * FROM tabell1 WHERE News ="& News & ";"
	
myconn.execute(sqlDelete)

%>

<html>
<head>
<title>brödraskapet</title>
<style type="text/css">
html,body {margin:0px; background-color:#ABB4BD;}
a:link{color:#7E8E9B; text-decoration:none;}
a:visited{color:#7E8E9B; text-decoration:none;}
a:active{color:#7E8E9B; text-decoration:none;}
a:hover{color:#7E8E9B; text-decoration:none;}

.storruta {position: absolute; width:784px; height: 582px; background-image:url(background.gif);}
.links {width:135px; height:154px; position:absolute; overflow:auto; top:210px; left:7px; padding:1px;}
.main {width:469px; height:225px; position:absolute; overflow:auto; top:195px; left:189px; padding:1px;}
.sponsor {width:89px; height:170px; position:absolute; overflow:auto; top:195px; left:682px; padding:1px;}
.style1 {color: #ABB4BD}
</style>

</head>

<div class="storruta">

	<div class="links" style="font-family:arial; font-size:9px; color:#7E8E9B;">
<center><strong>	
       	      <a href="index.asp">News</a><br/>
	      <a href="members.html">Members</a><br/>
	      <a href="matches4.asp">Matches</a><br/>
	      <a href="contact.html">Contact</a><br/>
	      <a href="login.asp">Login</a><br/>
<br/>

</center>

    </div>
	
  <div class="main" style="font-family:verdana; font-size:9px; color:#000000;">
<%
do until rsText.EOF

	Datum = rsText("Datum")
	News = rsText("News")
		
	
%>
<table width="358" border="0" align="left">
  <tr>
    <th width="108" scope="col"><div align="left">News</div></th>
    <th width="49" scope="col"><div align="left">Datum</div></th>
  </tr>

<%
	
	rsText.MoveNext		'Nästa post

Loop

%>

 
<tr>
    <td scope="row"><div align="left"><%=news%></div></td>
    <td><div align="left"><%=datum%></div></td>
  </tr>

	</div>

</div>
</body>
</html>

:$

K@llenMedlem sedan mars 20032 654 inlägg
#5

@nders har förmodligen redan drämmt till med rätt lösning, men en vägledning för kommande problem är att skriva ut sql-strängen vid felsökning:

<% 
Set myConn=Server.Createobject("ADODB.Connection")
myConn.Provider="Microsoft.Jet.OLEDB.4.0"
myConn.Open Server.mapPath("db1.mdb")

sqlDelete="DELETE * FROM tabell1 WHERE News ="& News & ";"
	
response.write "SQL-sträng: " & sqlDelete

'myconn.execute(sqlDelete) 

%>
SchkauffelMedlem sedan apr. 200434 inlägg
#6

hmm, skulle nog säkert fungera men jag kanske gör något fel...
typ hela sidan flyttade sig till höger och texten:

SQL-sträng: DELETE * FROM tabell1 WHERE News =;

var längst upp till vänster.

sedan på huvudsidan kom error.

Microsoft VBScript runtime error '800a01a8'

Object required: ''

/schkauffel/brodraskapet/deletenes.asp, line 57

<%
do until rsText.EOF
----detta är rad 57----
	Datum = rsText("Datum")
	News = rsText("News")
		
	
%>
VideMedlem sedan dec. 19996 094 inlägg
#7

Du ger (som @nders säger) inte variabeln News något värde innan du kör SQL-satsen, därav felet.

J.N.Medlem sedan apr. 20031 660 inlägg
#8

HEJ!

Schkauffel skrev:

hmm, skulle nog säkert fungera men jag kanske gör något fel...
typ hela sidan flyttade sig till höger och texten:

SQL-sträng: DELETE * FROM tabell1 WHERE News =;

var längst upp till vänster.

Anledningen till att texten skrivs ut och att sidan ser fel ut är för att du felsöker.

När något inte fungerar som man vill, skriver man ut de variabler man använder (SQL-sträng i detta fall), och då visar det sig alltid att något inte är som man tänkt sig, fast man tycker man gjort rätt. ;)

I texten läser du, som @nders redan påpekat, att news är lika med inget, och då är det svårt för servern att radera något i databasen, då delete-syntaxen kräver ett villkor i where.

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb