webForumDet fria alternativet
Logga in / Bli medlem

Unspecified error

Databaser & SQL

4 svar · 200 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Trådstart#1

INSERT INTO [version] (strName, dteCreated, dteViewFrom, dteViewTo, intSortfield) VALUES ('', #2003-03-30#, #2003-03-30#, #2003-03-30#, ((SELECT COUNT(*) AS cnt FROM [version]) +1 ) );

Microsoft JET Database Engine error '80004005'

Unspecified error

/admin/version/confirm.asp, line 38

SQL = "INSERT INTO [" & myTable & "] " _
& "(strName, dteCreated, dteViewFrom, dteViewTo, intSortfield) " _
& " VALUES (" _
& "'" & strName & "', " _
& "#" & dteCreated  & "#, " _
& "#" & dteViewFrom & "#, " _
& "#" & dteViewTo   & "#, " _
& " ((SELECT COUNT(*) AS cnt FROM [" & myTable & "]) +1 ) );"

Hur ska man tolka detta!? Kolla speciellt räknarsatsen i slutet.

Medlem sedan dec. 200012 464 inlägg
#2
SQL = "INSERT INTO [" & myTable & "] " _
& "(strName, dteCreated, dteViewFrom, dteViewTo, intSortfield) " _
& " select " _
& "'" & strName & "', " _
& "#" & dteCreated  & "#, " _
& "#" & dteViewFrom & "#, " _
& "#" & dteViewTo   & "#, " _
& " COUNT(*) + 1 FROM [" & myTable & "]"
Medlem sedan juli 20003 825 inlägg
#3

Hmm... Konstigt! Det fungerade faktiskt!

***
Jag ser nu att jag använt liknande kod tidigare.

Vad jag körde fast vid denna gången var att jag trodde att man alltid skrev " INSERT INTO [xxx] (...) VALUE (...)"

Man kan tydligen skippa VALUE!

Medlem sedan juni 200032 967 inlägg
#4

Om du ska göra INSERT där alla fält består av värden du hämtar i en selectfråga ska du inte ha med values. Om det är värden du själv specificerar i frågan, då ska du ha med values.

mvh

Medlem sedan juli 20003 825 inlägg
#5

Thank you for this unVALUEable information! :-)

254 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)