webForumDet fria alternativet

Får inte till sreSQL

ASP

15 svar · 390 visningar · startad av plelkes

Medlem sedan mars 2002823 inlägg
Frågan#1

.... :x
På inmatningssidan har jag:

<html>
<head>
<title>Skriv in en patient</title>

<body>

<p>&nbsp;</p>
<p>&nbsp;</p>
<h1 align="center"><font size="7" face="Verdana, Arial, Helvetica, sans-serif"><em><strong>Inskrivning 
  av Patient</strong></em></font></h1>
  <p>&nbsp;</p>
 <p>&nbsp;</p>
 <p>&nbsp;</p>
 <p>&nbsp;</p>

  
  <table width="800" border="1">
  <form action="skrivtill_tblPatuppgifter.asp" method="post" name="pat_inskrivning">
  <tr>
      <td>Personnumer (&Aring;&Aring;MMDDXXXX)</td>
    <td><input name="pnr" type="text" id="pnr" maxlength="11"></td>
  </tr>
  <tr>
      <td>F&ouml;rnamn</td>
    <td><input name="firstnamn" type="text" id="1namn" maxlength="20"></td>
  </tr>
  <tr>
      <td>Efternamn</td>
    <td><input name="familjenamn" type="text" id="famnamn" maxlength="25"></td>
  </tr>
  <tr>
      <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
<TD COLSPAN ="2" ALIGN="CENTER">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Ny patient">
&nbsp;
</TD>
</TR>
</FORM>
</TABLE>

</body>
</html>

På asp-sidan:

<%
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open

personnr = Request.Form("pnr")
Tilltnamn = Request.Form("firstnamn")
Eftn = Request.Form("familjenamn")
ind = FormatDateTime(Date, 2)

strSQL = "INSERT INTO vbalans¨"
strSQL = strSQL & "(Indag, patID, ftFnamn, ftEnamn) "
strSQL = strSQL & "VALUES(#" & ind & "#, "& personnr & ", '" & Tilltnamn & "', '" & Eftn & "')"
Response.write strSQL

vatskeb.Execute strSQL, , 128
            
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "meny.htm"

%>

Men som ni själva kan se Så lyckas jag inte ens

Response.write strSQL

utskrivet

  • indag är av typ Datum/tid
  • Tilltnamn av text
  • Eftn av typ text
  • pnr av typ tal
Medlem sedan juni 200032 967 inlägg
#2

Det är inte ditt fel, utan det är Brinkster som inte är så snäll mot dig.

Det var samma fel jag fick när jag skulle kolla på dina grejer för ett par veckor sedan, och sen gick det bara över...

Mvh

Medlem sedan dec. 200012 464 inlägg
#3
strSQL = "INSERT INTO vbalans¨"

Det ligger något skräptecken efter tabellnamnet.

Medlem sedan jan. 20032 285 inlägg
#4

Det kan inte bero på ¨-tecknet som smygit sig in efter "vbalans" i SQL-frågan? :)

/red Tusan... :p

Medlem sedan mars 2002823 inlägg
#5

Så ni menar att jag (förutom skräptecknet) äntligen har lyckats få till strSQL?

Medlem sedan juni 200032 967 inlägg
#6

Jag tycker i alla fall att det ser rätt ut.

Medlem sedan juli 200012 978 inlägg
#7

Spärren på 11 tkn i personnummer Första resutatet blir ju "-"
Du har angett 10 teckenformen?

Medlem sedan mars 2002823 inlägg
#8

tack för det! :bire

Medlem sedan mars 2002823 inlägg
#9

Lasp skrev:

Spärren på 11 tkn i personnummer Första resutatet blir ju "-"
Du har angett 10 teckenformen?

Nu blev det bkäcksvart igen = fattar inget*snyft*

Medlem sedan mars 2002823 inlägg
#10

Sidan fungera fortfanade inte hos Brinkster...
Är det säkert att ni inte heller hittar felet?

För säkerhetsskull kommer koden en gång till:
formulär_sidan

<html>
<head>
<title>Skriv in en patient</title>

<body>

<p>&nbsp;</p>
<p>&nbsp;</p>
<h1 align="center"><font size="7" face="Verdana, Arial, Helvetica, sans-serif"><em><strong>Inskrivning 
  av Patient</strong></em></font></h1>
  <p>&nbsp;</p>
 <p>&nbsp;</p>
 <p>&nbsp;</p>
 <p>&nbsp;</p>

  
  <table width="800" border="1">
  <form action="skrivtill_tblPatuppgifter.asp" method="post" name="pat_inskrivning">
  <tr>
      <td>Personnumer (&Aring;&Aring;MMDDXXXX)</td>
    <td><input name="pnr" type="text" id="pnr" maxlength="10"></td>
  </tr>
  <tr>
      <td>F&ouml;rnamn</td>
    <td><input name="firstnamn" type="text" id="1namn" maxlength="20"></td>
  </tr>
  <tr>
      <td>Efternamn</td>
    <td><input name="familjenamn" type="text" id="famnamn" maxlength="25"></td>
  </tr>
  <tr>
      <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
<TD COLSPAN ="2" ALIGN="CENTER">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Ny patient">
&nbsp;
</TD>
</TR>
</FORM>
</TABLE>

</body>
</html>

Sidan där själva tillägget till databasen:

<%
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open

personnr = Request.Form("pnr")
Tilltnamn = Request.Form("firstnamn")
Eftn = Request.Form("familjenamn")
ind = FormatDateTime(Date, 2)

strSQL = "INSERT INTO vbalans"
strSQL = strSQL & "(Indag, patID, ftFnamn, ftEnamn) "
strSQL = strSQL & "VALUES(#" & ind & "#, "& personnr & ", '" & Tilltnamn & "', '" & Eftn & "')"
Response.write strSQL

vatskeb.Execute strSQL, , 128
            
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "meny.htm"

%>

Det enda som sker när sist nämnda sidan laddas

Sidan kan inte visas

Medlem sedan juni 200032 967 inlägg
#11

Microsoft JET Database Engine error '80040e37'

Could not find output table 'vbalans'.

/vatskebalans/skrivtill_tblPatuppgifter.asp, line 20

Det verkar som du har Friendly HTTP Error messages / Egna http-felmeddelanden påslagna i din webbläsare. Ta bort den inställningen i så fall.

Medlem sedan mars 2002823 inlägg
#12

Tack @nders, jag kom på detta jag med...

NU får jag fel

INSERT INTO vbalans(Indag, patID, ftFnamn, ftEnamn) VALUES(#2003-12-08#, , '', '')
Syntax error in INSERT INTO statement.

Medlem sedan juni 200032 967 inlägg
#13

Fyller du i det som ska fyllas i i formuläret så borde SQL-frågan se finare ut. ;)

Mvh

Medlem sedan mars 2002823 inlägg
#14

Nu har jag fyllt i - då ser utskriften ut:

INSERT INTO vbalans(Indag, patID, ftFnamn, ftEnamn) VALUES(#2003-12-08#, 1212121212, 'Tolvan', 'Tolvansson')
Microsoft JET Database Engine error '80040e37'

Could not find output table 'vbalans'.

/vatskebalans/skrivtill_tblPatuppgifter.asp, line 20

  1. ser datum rätt ut? - dvs skall verkligen "#" vara med?
  2. varför får jag svaret: Could not find output table 'vbalans' jag har ju ingen tabell som heter så, däremot heter hela databasen vbalans.mdb
  3. ser för övrigt utskriften av strSQL rätt ut, dvs gör det ngt att det finns komma tecken?
Medlem sedan juni 200032 967 inlägg
#15
  1. det ser rätt ut.
  2. För att det inte finns en tabell som heter vbalans. Vad är det för tabell du vill lägga in posten i? Syntaxen är ju INSERT INTO tabell.... Du måste specificera vilken byrålåda du vill lägga dina strumpor i, inte bara "Lägg dem i byrån!". :)
  3. Jepp, ser rätt ut. Det skall vara kommatecken mellan fältnamnen i INSERT-parentesen och mellan fältvärdena i VALUES-parentesen.

Mvh

Medlem sedan mars 2002823 inlägg
#16

@nders skrev:

För att det inte finns en tabell som heter vbalans. Vad är det för tabell du vill lägga in posten i? Syntaxen är ju INSERT INTO tabell.... Du måste specificera vilken byrålåda du vill lägga dina strumpor i, inte bara "Lägg dem i byrån!".

Gu´va knäpp jag är... :bire

513 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
377 ms — ändringar (db)