Lastig probleem XML/SQL

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hi!


Ik heb een probleem hier met -of- XML, -of- ASP, -of- .. iets anders. :?

Enfin, ik moet voor school een opdracht maken: vanaf een website moet ik dmv een ASP-pagina in een Access-database dingen kunnen toevoegen/wijzigen/verwijderen/etc. maar je moet 'm ook kunnen uitlezen.

Nu komt'ie:

Als ik de database uitlees, is dat geen probleem.
Ik druk op "Toon alle aanwezige boeken" en voila, ik krijg alle aanwezige boeken. En dat is bij alle gegevens die ik opvraag.

Het probleem zit echter in het wijzigen/toevoegen/verwijderen van gegevens. Dus zodra er data wordt aangepast. Om een of andere reden weigert de database de gegevens op te slaan, en ik heb niet genoeg verstand ervan om het op te lossen (eerlijkheid siert de mens? :X )

Naar wat ik zie, klopt de code op de ASP pagina alswel in het MCL bestand.
Ook de leraar zegt dat dit klopt, en hij zei dat het een rechtenprobleem zou kunnen zijn. Echter krijg ik niet de foutmelding die je dan zou moeten krijgen, plus dat het niet uitmaakt onder wiens rechten ik inlog op de site. (die van hem; maximaal, die van mij, administrator. Beide geprobeert, beide werken niet.)

In de ASP pagina staat dit:



on error resume next
dim Mode
Mode = request.form("Mode")

if lid.UserIsBeheerder and Mode="Verzenden" then 'controleer in Session-object of bezoeker ingelogd is als beheerder

'Eerst de waarden in het object lid bijwerken
boek.BoekID = cLng(request.form("BoekID")) 'omzetten van tekst naar numeriek (long integer)

boek.BoekTitel = request.form("BoekTitel")
boek.BoekStatus = request.form("Boekstatus")

'Hiermee wordt de database bijgewerkt:
boek.Nieuw
response.redirect ("aanwezig.asp")

end if
%>



En dit is het deel 'Nieuw' van boek.MCL




public sub Nieuw ()
on error resume next
'***************************************************************************************************
db.name = "bridge"

db.sql = "INSERT INTO boek "
db.sql = db.sql + "(BoekID,BoekTitel,BoekStatus)"

db.sql = db.sql + " VALUES ("
db.sql = db.sql & boek.BoekID & ","
db.sql = db.sql + "'" + boek.BoekTitel + "',"
db.sql = db.sql + "'" + boek.BoekStatus + "');"

db.execute
end sub




Het is erg vreemd dat ik -niets- kan weizigen van data, tenzij ik iets onnozels over het hoofd heb gezien (zeer waarschijnlijk :) )

De DB is 'Bridge.mdb', dus vandaar db.name = "bridge". Alle valuenamen kloppen ook. Maarja, mijn SQL/XML kennis is niet je-van-het.

Iemand enig idee? Hulp wordt gewaardeerd :)

Excuses als het niet het juiste subforum is, ik wist niet waar het anders moest.


M.v.g.

Nick

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op donderdag 15 oktober 2009 @ 19:32:
Het probleem zit echter in het wijzigen/toevoegen/verwijderen van gegevens. Dus zodra er data wordt aangepast. Om een of andere reden weigert de database de gegevens op te slaan, en ik heb niet genoeg verstand ervan om het op te lossen (eerlijkheid siert de mens? :X )
Eerste gedachte: Geheid een (Schrijf) Rechten/permissies probleem.
Verwijderd schreef op donderdag 15 oktober 2009 @ 19:32:
Echter krijg ik niet de foutmelding die je dan zou moeten krijgen
D'oh 8)7 Je eerste regel is: On error resume next... :X
Gebruik voortaan a.u.b. code tags.
Verwijderd schreef op donderdag 15 oktober 2009 @ 19:32:
Iemand enig idee? Hulp wordt gewaardeerd :)
Debuggen: Hoe doe ik dat?

En lees je in in SQL Injection. Je escaped sowieso je strings niet zie ik dus een boeknaam als "D'oh: Homer Simpsons' greatest" gaat falikant mis :P en er zijn ergere titels ;)

[ Voor 10% gewijzigd door RobIII op 15-10-2009 19:41 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Waarom gebruik je soms de & en soms de + om delen aan elkaar te plakken? En mag je dat wel allemaal zo aan elkaar plakken? Hoe ziet je SELECT er uit?

Acties:
  • 0 Henk 'm!

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 08:03

Cyphax

Moderator LNX
Strings aan elkaar plakken in VBScript moet je echt met de & doen, + is voor getallen.
SQL-injectie kan je voorkomen met ado.
http://www.w3schools.com/ADO/ado_ref_command.asp
Command-object kan je parameters aan toevoegen. Bij inserts geen named parameters gebruiken. Maar ik heb het idee dat dat het doel van je cursus een beetje ontsteigt. Als je het maar in je achterhoofd houdt.

Je kunt ook onderaan je script nog even de eventuele foutmelding afvangen met zoiets:
VBScript:
1
2
3
If Err.number <> 0 Then
 Response.Write Err.Description
End If

Of bovenin On error resume next weghalen, maar foutafhandeling is net als sql-injecties: iets om wat mee te doen.

Ik ben ook wel benieuwd waar XML in dit verhaal past, moet je daar wel iets mee doen nog?

[ Voor 33% gewijzigd door Cyphax op 15-10-2009 19:48 ]

Saved by the buoyancy of citrus