Avatar billede eradicator Nybegynder
20. april 2002 - 21:43 Der er 6 kommentarer

Finde de(n) attribut(er) der er nøglen i et recordsæt (ADO-connec

Jeg er ved at lave en homepage hvor brugeren skal kunne opdatere en post i en database og derfor har jeg behov for at finde primærnøglen for den aktuelle post (Jeg anvender vb-script).

Jeg laver min connection og recordsæt således:

dim connection, resTable
Set connection = server.CreateObject("ADODB.Connection")

'_____ConnectionString_____
    connection.Open("DRIVER={Microsoft Access Driver (*.mdb)};" + "DBQ=" & dbPath & "")

sql="SELECT * From " & tableToEdit
Set resTable = connection.execute(sql)

tableToEdit er en variabel der sættes når når siden kaldes.

spørgsmålet er nu, hvordan kan jeg finde ud af hvilke(n) attribut(ter) der er nøglen?

Jeg ved at man fx kan gøre således hvis man vil udskrive værdien af et felt i recordsættet i et tekstfelt.

'_____Udskriver værdien for hvert felt i tabellen
For each item in resTable.Fields
Response.Write("<td><input type=text value ='" & item.value & "'></td>")
Next

håber en af jer ved hvordan man finder nøglen :)
Avatar billede whatever Nybegynder
20. april 2002 - 22:12 #1
En nøgle er unik, hvilket vil sige, at ingen poster har samme nøgle. Det kan være en primærnøgle, eller en sammensatnøgle. En primærnøgle kan f.eks. være et id på hver post. Id'et er så unikt for posten. En sammensatnøgle, er når flere attributter bruges for at skåbe en unik nøgle.

Det letteste er, at have et id (en attribut) med autonummerering som primærnøgle.
Avatar billede eradicator Nybegynder
20. april 2002 - 22:20 #2
ja, men jeg søger at lave en generel opdatering af en database, så jeg i princippet kan tage en hvilken som helst database, og inde i den tage en hvilken som helst tabel. Udvælge en hvilken som helst post i tabellen. Finde nøglen og opdatere den pågældende post vha. denne nøgle dersom den er unik. Så kunne man jo lave noget sql-update eller noget, men det kræver alt sammen at man kender nøgle-værdien for den post man vil opdatere :(
Avatar billede doc404 Novice
20. april 2002 - 23:56 #3
Ligesom du har en field.value property har du også en field.attributes property.

Attributes er en samling at bitværdier, hvor du blandt andet har en der hedder adFldKeyColumn (0x8000) der siger om feltet er primary key eller en del af primary key

Tage et kig på http://www.devguru.com/Technologies/ado/quickref/field_attributes.html
Avatar billede doc404 Novice
21. april 2002 - 00:35 #4
aha.. tja, dokumentationen siger sådan - men det virker f.eks. ikke i min mssql database...

Du skal have gang i OpenSchema... Hvis din ADO version understøtter den..

Kast dig over google og søg efter OpenSchema og læs ;-)
Avatar billede doc404 Novice
21. april 2002 - 00:52 #5
Avatar billede eradicator Nybegynder
21. april 2002 - 01:54 #6
hmmm jeg fatter ikke specielt meget af det der openSchema, er der et letforståeligt eksempel somewhere?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester