Hej!
Jo, jag sitter som sagt var med en bok här och "pluggar" ASP.net. I ett exempel jag gör nu så ska man lägga till en post i en databas. Det syns lite otydligt i boken hur kodraden ska se ut, men jag får den till detta:
sMatain = "INSERT into Person (fnamn,enamn) values ("' & fnamn.Text & "','"& enamn.Text & '")"
När man kör sidan och skrivit in för- och efternamn i ett fält och tryckt på OK, så kommer en sida med felmeddelande upp. Jag aktiverade då debug-läge för sidan, och fick då detta felmeddelande istället:
Source Error:
Line 14: cm = New OleDbCommand(sMatain, cn)
Line 15: cn.Open()
Line 16: cm.ExecuteNonQuery()
Line 17: cn.Close()
Line 18: meddelande.Text="En ny post har lagts till."
Hjälp! :)
Gjorde en liten ändring, "koden" ser nu ut så här istället:
sMatain = "INSERT into Person (fnamn,enamn) values ('" & fnamn.Text & "'," & enamn.Text & "')"
Samma source error som ovan, men ett litet "tydligare" fel syns högre upp:
Syntaxfel i sträng i frågeuttrycket 'arnold')'.
Hjälp! :D
Noterbart är att jag då skrev in arnold som efternamn i textfältet :)
PaceMedlem sedan juni 20019 024 inlägg sMatain = "INSERT into Person (fnamn,enamn) values ('" & fnamn.Text & "',"[blue][b]'[/b][/blue] & enamn.Text & "')"
Du glömde en fnutt (') framför enamn.
Pace: Tack, men det hjälpte inte. Istället för det där med efternamnet som det stod nyss, så står det nu såhär där istället:
Syntaxfel i INSERT INTO-uttryck.
Följt av Source Error-grejen som jag visade.
icaaqMedlem sedan okt. 20005 273 inlägg Testa att skriva ut sql-satsen med response.write, det är lättare att se vad som är fel då.
[red]
Response.Write (sMatain)
[/red]
RobbanMedlem sedan dec. 19992 555 inlägg Det gäller att hålla ordning på fnuttarna. Såhär bör det bli:
sMatain = "INSERT into Person (fnamn,enamn) values ('" & fnamn.Text & "','" & enamn.Text & "')"
icaaq: Vart ska jag skriva detta? Är inte helt hemma på det här området ännu :)
Robban: Det var typ det första jag testade, "SYNTAX ERROR i INSERT INTO-uttrycket" blir det då.
icaaqMedlem sedan okt. 20005 273 inlägg Du kan ju lägga ut en label på sidan och sedan sätta sMatain som text på den.....
[red]
Label1.Text = sMatain
[/red]
PatrikBMedlem sedan mars 20002 836 inlägg + avkommentera själva exekveringen av sql-frågan
cya,
PatrikB
NETworkMedlem sedan juni 20011 732 inlägg Response.Write kan du skriva var du vill (naturligtvis måste variabeln du skriver ut vara satt innan uttrycket då), den skriver sedan ut sitt värde allra högst upp på sidan. Bra att använda om man snabbt vill se vad exempelvis en variabel innehåller och man inte orkar använda den inbyggda tracern.
sMatain = "INSERT into Person (fnamn,enamn) values ('" & fnamn.Text & "','" & enamn.Text & "')"
Detta ser dock rätt ut syntaxmässigt. Din db är inte skrivskyddad? Är tabellnamnet rätt? Vad får du ut med fnamn.Text och enamn.Text? Prova att slänga in en helt statisk insertsats som du vet ska fungera och se om det fortfarande blir fel:
sMatain = "INSERT into Person (fnamn,enamn) values ('kalle','kallesson')"
SPiNMedlem sedan mars 20007 896 inlägg Robban's fråga bör fungera, Pace hade placerat fnutten ( ' ) på fel ställe bara...
Testade Robbans förslag igen, där det tidigare stod SYNTAX ERROR, står det nu: "Operationen måste använda en fråga som kan uppdateras."
icaaq: Hjälper inte så mycket eftersom jag ändå inte ser vad som skrivits in där, med tanke på felmeddelandet som dyker upp. Den vill inte skriva in i databasen helt enkelt.
NETwork: Databasen är inte skrivskyddad, tabellen är korrekt. Om jag skriver det där statiska du visade så får jag samma fel som när jag använder mig av Robbans förslag. En sak dock, när jag öppnar databasen i Access så står det:
"The database 'tobbe' is read-only. You won't be able to save changes made to data or object definitions in this database."
Det blev så från och med andra gången jag öppnade databasen. Varför? Och hur ändrar jag det? Kan detta vara felet? Tack på förhand!
ZyaxMedlem sedan mars 200262 inlägg Har inget svar på din fråga, men en kommentar om Access:
Access kan vara bra till ändamål det är lämpat för, annars bör Access INTE användas.
Access bör användas när du i Windows skall göra en lättare applikation och där du utnyttjar alla de snabba dialoger och sådant gulle-gull som går att göra helt i Access.
Skall du ha Access som en ren databas som inte använder några gulle-gull funktioner så kan man lika väl använda mySql eller vad som helst annat, Access är då KASST!
Skall du dessutom göra en webbapllikation skall du verkligen försöka plocka bort Access så ofta som möjligt då säkerhetsnivån i Access är rent dålig och hela databasen kan hänga sig av användare som skall komma åt databasen samtidigt.
Slutsats: Byt till SQL Server, MySql eller någonting annat, Access hör inte hemma i en applikation utanför Access självt!
PatrikBMedlem sedan mars 20002 836 inlägg Har du access öppet?
Har du rätt rättighet satt på katalgoen som mdb-filen ligger i?
cya,
PatrikB
PatrikBMedlem sedan mars 20002 836 inlägg Direkt löjligt!
Access duger bra och länge för en egen privat sida/förenings sida.
Skulle man skaffa MS SQL Server så kostar det ett par tusen på ett år vilket inte alla har råd med privat. Föreningar med inte så god ekonomi har heller inte råd med det alternativet.
mySQL har jag inte sett erbjudande om på någo "gratis hotell" vilket privat personer/föreningar använder sig av i de flesta fall.
Så!!! vad ska de köra om de vill få lite dynamik på sin sida och inte har råd med att skaffa webbhotell, betala domänregistrering m.m
Till dem säger jag bara: Access räcker längre än vad ni tror!
<redigerat>
Ett "levande bevis" för det är: https://www.vasterviksbk.nu som i topparna har runt 200 besökare inne samtidigt .... just ja, Access är det som ligger i botten ;)
Men, den siten ligger precis på gränsen av vad access tål, så, det finns att växa i tills det är dags att byta dbms :e
</redigerat>
Till er som har råd med webhotell med en annan dbms som val, välj det.
cya,
PatrikB
Zyax: När jag läst ut boken och ska mixtra med egna projekt hade jag inte heller tänkt använda Access, eller...kanske i början. Sedan om jag lyckas knåpa ihop något populärt community så försöker jag fixa sponsor och skaffar My SQL.
PatrikB: Hur sätter jag dessa rättigheter?
Hej!
Japp, nu fungerade det när jag gjorde det som icaaq länkade till. Tack så mycket för hjälpen allihopa! :)