Avatar billede krisbjoern Nybegynder
30. oktober 2001 - 20:07 Der er 15 kommentarer og
1 løsning

feltdifenitionen driller...

Jeg har lavet et en sql-sætning der skal oprette en
tabel med et unikt navn (ID fra en brugerdatabase).

Men der er bøvl med feltdefinitionen, se her:

strSQL = \"CREATE TABLE \" & Session(\"opretID\") & \" (ID AutoNumber, Budget Text, SagNR Text, Notat Memo)\"

Desuden vil jeg gerne have at input-felterne skal kunne \"Tåle\" værdien Null.

Nogen der kan hjælpe?

Venligst
Kristian Bjørn
Avatar billede terry Ekspert
30. oktober 2001 - 20:16 #1
I am sure you can find what you want here

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
GO
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
GO
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.TABLE1
    (
    col1 int NOT NULL IDENTITY (1, 1),
    col2 char(10) NULL
    ) ON [PRIMARY]
GO
COMMIT
Avatar billede terry Ekspert
30. oktober 2001 - 20:17 #2
col1 is the \"autonumber\". Autonumber is Access, in SQL its not the same.
Avatar billede krisbjoern Nybegynder
30. oktober 2001 - 20:36 #3
You see...
I can creat the TABEL with the name rs(\"opretID\")
but there is something wrong in the way I try to Name the cols and claim there \"identity\"...

I can\'t read it out of your answer could you give it one more try.

Avatar billede terry Ekspert
30. oktober 2001 - 20:48 #4
strSQL = \"CREATE TABLE \" & & Session(\"opretID\") &
    \"(
    ID int NOT NULL IDENTITY (1, 1),
    budget varchar(50) NULL,
    SagNR varchar(50) NULL,
    Notat varchar(2000) NULL
    )\"

The varchar can be up to 8000 bytes and it only takes up the actual number of characters used.
Avatar billede terry Ekspert
30. oktober 2001 - 20:56 #5
text can hold  2^31 characters
Avatar billede terry Ekspert
30. oktober 2001 - 20:58 #6
strSQL = \"CREATE TABLE \" & &
=
strSQL = \"CREATE TABLE \" &
Avatar billede krisbjoern Nybegynder
30. oktober 2001 - 21:11 #7
Hello terry...

One more question does this:

Notat varchar(2000)NULL - mean that this col
can handle the value NULL...

Avatar billede terry Ekspert
30. oktober 2001 - 21:24 #8
yes
Avatar billede krisbjoern Nybegynder
30. oktober 2001 - 21:28 #9
But there are still problems this is what the error message is saying:

Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i CREATE TABLE-sætningen.

/skole/Projekt/opret.asp, linje 45

And that means : there is a syntaxerror in the CREATE TABLE-sentense

Do you know what to do...
Avatar billede terry Ekspert
30. oktober 2001 - 21:44 #10
I CAN create a table using this SQL statement. I have replaced Session(\"opretID\") with a table named Session. So all I can suggest is that you some how look at what is in strSQL just before you execute your ASP.
You can also try this:

strSQL=\"CREATE TABLE Session (
    ID int NOT NULL IDENTITY (1, 1),
    budget varchar(50) NULL,
    SagNR varchar(50) NULL,
    Notat varchar(2000) NULL
    )\"
Avatar billede krisbjoern Nybegynder
30. oktober 2001 - 21:53 #11
Hello again.

It seems to me like it\'s the end of the sentense that doesn\'t work right.

if I write:

strSQL = \"CREATE TABLE \" & Session(\"opretID\")

the table will be created with a unic name for each time.

So tht part of the sentense is All Right

hmmmmmm

Avatar billede bennytordrup Nybegynder
31. oktober 2001 - 07:05 #12
Try this:

strSQL=\"CREATE TABLE Session (
    ID int IDENTITY (1, 1) NOT NULL,
    budget varchar(50) NULL,
    SagNR varchar(50) NULL,
    Notat varchar(2000) NULL
    )\"
Avatar billede bennytordrup Nybegynder
31. oktober 2001 - 07:07 #13
Desuden, hvis din variabel Session(\"opretID\") indeholder mellemrum og muligvis andre fancy karakterer, så sørg for at omkranse med []:

strSQL = \"CREATE TABLE [\" & Session(\"opretID\") & \"] ...\"

hvor resten af DDL-statementet kommer i stedet for ...
Avatar billede terry Ekspert
31. oktober 2001 - 08:07 #14
The SQL statament from 20:16.12 was created by SQL Server so there is nothing wrong with this syntax! he only thing I can see is a benny.t mentiones and that is if your table name contains invalid characters.
If the SQL I gave 21:44.12 works then YOU have a synax problem which you need to sort out.
Avatar billede bennytordrup Nybegynder
31. oktober 2001 - 08:39 #15
Det vil formodentlig også være en fordel at have feltnavnet ID omkranset af []
Avatar billede krisbjoern Nybegynder
31. oktober 2001 - 09:25 #16
Det virker - It works
TAk og Thanx for your help
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