Avatar billede Dartemis Nybegynder
24. april 2009 - 13:32 Der er 9 kommentarer og
1 løsning

Surftown Database Hjælp

Hej

Jeg har lavet en hjemmeside til min mormor hvor der er noget billed upload. Når billedet bliver uploadet skal noget info ryge over i databasen.

I billed Tabelen i Databasen er indholdet, ID....

ID'et er sat til unikt, men jeg kan ikke sætte den til at stige med 1 hvergang der kommer nyt indhold(Identity Specification, hedder det vist nok)

Nogle der ved hvordan man kan gøre dette ?

Bruger: Visual Studio Pro, C#, .NET 3.5
Avatar billede mjdigital Nybegynder
24. april 2009 - 14:57 #1
Hejsa :)

feltet i databsen skal du vælge (Is Identity) og huske at sætte ID feltet som Primary Key.. Gør det evt. i visual studio via "Server explorer"
Avatar billede aaberg Nybegynder
24. april 2009 - 15:08 #2
Når tabellen først er oprettet, er det ikke muligt at ændre en kolonne til en identity kolonne. Men du kan oprette en ny kolonne som er en identity-kolonne, og slette den gamle.

Her er et eksempel på at tilføje en identitykolonne:
alter table [tabelnavn]
add [kolonnenavn] int identity(1,1)
Avatar billede aaberg Nybegynder
24. april 2009 - 15:09 #3
..og, identity kolonnen bør sættes som primary key.
Avatar billede Dartemis Nybegynder
24. april 2009 - 15:15 #4
Mange tak !

Jeg prøver lige engang og hvis det virker skal du nok få dine point :)
Avatar billede Dartemis Nybegynder
24. april 2009 - 15:27 #5
Kan ikke connecte til den via VS Server Explorer (Could not reconnect to "msdb3". Make sure that the machine name and path are valid)

og det er de for har taget det direkte fra web.config filen hvor det virker :/

og jeg oprettede en ny tabel så den har IDENTITY på ON men når jeg så uploader får jeg denne fejl:

An explicit value for the identity column in table 'billeder' can only be specified when a column list is used and IDENTITY_INSERT is ON.

System.Data.SqlClient.SqlException: An explicit value for the identity column in table 'billeder' can only be specified when a column list is used and IDENTITY_INSERT is ON.


er virkelig lost her :/ :/
Avatar billede aaberg Nybegynder
24. april 2009 - 15:36 #6
Hvis identity insert er ON, kan det være den anden ting i fejlmeddelelsen: "An explicit value for the identity column in table 'billeder' can only be specified when a column list is used".

Hvis du indsætter data sådan:

insert into mintabel
values @param1, @param2 ...osv

så vil du få fejlen.

i stedet skal du specificere hver kolonne i din insert sætning.

insert into mintabel (kolonne1, kolonne2, kolonne3)
values (@val1, @val2, @val3)

I denne sætning skal du ikke tage identitykolonnen med.
Avatar billede Dartemis Nybegynder
24. april 2009 - 15:44 #7
skulle jeg os gerne have gjort ?

det ser sådan her ud:

string sti = @"billeder/maleri/" + extension2 + extension;

...

INSERT INTO billeder VALUES('','" + sti + "', 'Laila')", objConn);

det er kun ID, href og title

sti = href
laila = title
og ID'en skal selv sættes ind
Avatar billede Dartemis Nybegynder
24. april 2009 - 15:48 #8
HAHAHA jeg fandt ud af det :D jeg havde sat et ekstra "" ind i INSERT

('','" + sti + "', 'Laila')", objConn); 

der hvor ID skulle være :D

siger MANGE tak for den store hjælp :D

vil gerne vile jer begge 30 point hvis jeg kan det ? :)
Avatar billede aaberg Nybegynder
24. april 2009 - 16:06 #9
Jeg ved faktisk ikke om man kan give flere points, end man originalt satte af til spørgsmålet!

Men her kommer svaret!  :-)
Avatar billede Dartemis Nybegynder
24. april 2009 - 16:15 #10
hehe okay :D

men siger mange tak igen og har accepteret svaret :p
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
Computerworld tilbyder specialiserede kurser i database-management

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