Toon posts:

[ASP] tabellen updaten

Pagina: 1
Acties:
  • 61 views sinds 30-01-2008

Verwijderd

Topicstarter
voor mijn website moet ik gegevens uit xml bestand lezen en in een database plaatsen,maar als ik mijn pagina test krijg ik steeds deze foutmelding:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-stuurprogramma] De opgegeven wijzigingen aan de tabel zijn niet aangebracht omdat zij dubbele waarden zouden opleveren voor de index, primaire sleutel of relatie. Wijzig de gegevens in het veld of de velden die dubbele gegevens bevatten of definieer de index opnieuw.

Eigenlijk zouden alleen de records waarvan de waarde LastUpdated kleiner is dan de waarde die ik uit mijn xml-bestand haal mogen worder ge-update.
ik zal hier even mijn broncode en xml-bestand bijzetten in de hoop dat iemend mij kan helpen,ik zit echt met de handen in het haar :-(

XML:
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="iso-8859-1"?>
<categorieen>
<categorie categorienummer="1" categorienaam="Dranken" lastUpdated="20030610"/>
<categorie categorienummer="2" categorienaam="Kruiden" lastUpdated="20030610"/>
<categorie categorienummer="3" categorienaam="Zoetwaren" lastUpdated="20030610"/>
<categorie categorienummer="4" categorienaam="Zuivel" lastUpdated="20030610"/>
<categorie categorienummer="5" categorienaam="Graanproducten" lastUpdated="20030610"/>
<categorie categorienummer="6" categorienaam="Vlees" lastUpdated="20030610"/>
</categorieen>

De xml is duidelijk genoeg hoop ik,ik zal een beetje uitleg geven over mijn broncode.

HTML:
1
2
3
<%@ language="Jscript"%>
<% Response.expires= 0 ;%>
<%

dit deel gaat een connectie openen met mijn lokale database en de gegevens uit mijn xml-bestand lezen,ik kan de gegevens wel op het scherm afdrukken
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
dbPath = Server.mapPath("database/Noordenwind.mdb");
var adoCon = Server.CreateObject("ADODB.Connection");
try
{
adoCon.Open("DBQ=" + dbPath + ";Driver={Microsoft Access Driver (*.MDB)};");
}
catch(e)
{
Response.Redirect("db_fout.asp");
}

XMLDoc .load( Server.mapPath("data/categorieen.xml") );
root = XMLDoc .documentElement;
for (i=0; i<root.childNodes.length; i++)
{
xml_categorienummer = root.childNodes.item(i).getAttribute("categorienummer");
categorienaam = root.childNodes.item(i).getAttribute("categorienaam");

xml_lastupdated = root.childNodes.item(i).getAttribute("lastUpdated");


var categorienummer = parseInt(xml_categorienummer,10);
var lastupdated = parseInt(xml_lastupdated,10);

            Response.Write(categorienummer + "<br>");
            Response.Write(categorienaam + "<br>");
            Response.Write(lastupdated + "<br>");

volgens mij zit de fout in dit deel al weet ik niet wat er fout is,als iemend mij kan helpen,plz

SQL:
1
2
3
4
var sSQL = "UPDATE Categorieen SET Categorienaam='" + categorienaam + "',LastUpdated=" + lastupdated + " WHERE Categorienummer=" + i+1 + " AND LastUpdated < " + lastupdated + "";
var RS = adoCon.Execute(sSQL);

}


database sluiten en objecten vernietigen

JavaScript:
1
2
3
4
5
adoCon.Close();
RS = undefined;
adoCon = undefined;
    }
%>

als het mogelijk is -->alleen in jscript,snap niet zoveel van vb

[ Voor 15% gewijzigd door curry684 op 12-06-2003 23:19 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Je probleem heeft absoluut geen enkele donder met ASP te maken. Je wilt twee maal dezelfde waarde gebruiken bij een primaire sleutel, bijvoorbeeld twee maal het getal 1 in een kolom, terwijl deze uniek moet zijn.

Eigenlijk kan ik het niet duidelijker uitleggen dan:
De opgegeven wijzigingen aan de tabel zijn niet aangebracht omdat zij dubbele waarden zouden opleveren voor de index, primaire sleutel of relatie. Wijzig de gegevens in het veld of de velden die dubbele gegevens bevatten of definieer de index opnieuw

[ Voor 52% gewijzigd door gorgi_19 op 12-06-2003 22:50 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
de unieke kolom is de kolom categorienummer(primaire key) maar die wil ik helemaal niet wijzigen

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 12 June 2003 @ 22:49:
de unieke kolom is de kolom categorienummer(primaire key) maar die wil ik helemaal niet wijzigen
Ik zou je tabel maar eens nalopen, want ergens zit er een constraint op die de boel loopt te zieken.

Andere debugoptie: Ga de boel niet uitvoeren tegen je database, maar zet de query op je scherm. ws zie je dan de fout; anders kan je eens proberen om deze query in Access uit te voeren.

[ Voor 30% gewijzigd door gorgi_19 op 12-06-2003 22:54 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Misschien kan je een duidelijkere startpost maken als je de volgende link eerst een keertje doorleest: Welkom in P&W: FAQ en Beleid *updated: 14-04*

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Dusty was me net voor, ik was namelijk bezig om je openingspost te voorzien van code-tags. Helaas kwam ik er toen nog steeds niet uit, en volgens mij heb ik de helft van de codeblokken nog verkeerd gegokt ook wat het was. Dus lees aub. die FAQ goed door :)

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.