Avatar billede myanimalfarm Nybegynder
12. marts 2004 - 14:29 Der er 8 kommentarer og
1 løsning

Update command indsæt tom

Se kode nederst...

Er ved at lave en update command i Dreamweaver, hvis Request.Querystring("BerettigetDato") er tom sker der en fejl ellers virker det fint. Er ikke den store koder men jeg kan da forstå at den i de første linier checker om der kommer nogen værdi. Hvordan fortæller jeg at hvis den er tom skal den bare "indsætte ingenting"??

Nogen der forstår hvad jeg vrøvler om?


<%

if(Request.Querystring("BerettigetDato") <> "") then person__GODDATO = Request.Querystring("BerettigetDato")

if(Request.Querystring("PersonID") <> "") then person__PER = Request.Querystring("PersonID")

%>
<%

set person = Server.CreateObject("ADODB.Command")
person.ActiveConnection = MM_Logicon_Kursusbase_STRING
person.CommandText = "UPDATE Personer  SET BerettigetDato = '" + Replace(person__GODDATO, "'", "''") + "'  WHERE PersonID = " + Replace(person__PER, "'", "''") + " "
person.CommandType = 1
person.CommandTimeout = 0
person.Prepared = true
person.Execute()

%>
Avatar billede ellebaek Nybegynder
12. marts 2004 - 14:31 #1
den første linie finder kun ud af om feltet er udfyldt...

Men jeg gætter på at fejlen er fordi du ikke tillader et tomt felt i din database.

Under design kan du vælge tillad længden 0 og sætte den til ja.
Så burde det virke.
Avatar billede myanimalfarm Nybegynder
12. marts 2004 - 14:33 #2
Den tillader et tomt felt
Avatar billede ellebaek Nybegynder
12. marts 2004 - 14:36 #3
Ja, det er replace der laver fejlen kan jeg se...

Sådan her.

<%

if(Request.Querystring("BerettigetDato") <> "") then person__GODDATO = Replace(Request.Querystring("BerettigetDato"), "'", "''")

if(Request.Querystring("PersonID") <> "") then person__PER = Replace(Request.Querystring("PersonID"), "'", "''")

%>
<%

set person = Server.CreateObject("ADODB.Command")
person.ActiveConnection = MM_Logicon_Kursusbase_STRING
person.CommandText = "UPDATE Personer  SET BerettigetDato = '" + person__GODDATO + "'  WHERE PersonID = " + person__PER + " "
person.CommandType = 1
person.CommandTimeout = 0
person.Prepared = true
person.Execute()

%>
Avatar billede ellebaek Nybegynder
13. marts 2004 - 14:19 #4
virkede det sidste jeg skrev ?
Avatar billede myanimalfarm Nybegynder
15. marts 2004 - 10:03 #5
hmmm nej, det virker ikke :-(

Eller dvs. det virker når man fylder noget i feltet men ikke når det er tomt. Men jeg tror måske det virker alligevel nu får jeg bare en ny fejl (that made NO sense :-))

Den siger:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

Feltet er et dato felt kan det have noget med det at gøre, at formatet ligesom ikke er "rigtigt" hvis det er tomt? feltet er ikke obligatorisk så jeg kan ikke se hvordan men alligevel?
Avatar billede ellebaek Nybegynder
15. marts 2004 - 10:09 #6
det er nemmest synes jeg at have felter der indeholder datoer til at være af typen tekst, så er du også sikker på at brugerene ikke fremprovokere fejl ved at taste forkerte datatyper ind.
Avatar billede myanimalfarm Nybegynder
15. marts 2004 - 10:15 #7
HEYYYY!!!!! det virker hvis jeg laver dem om til tekst felter...cool!! det er vel egentlig også ligemeget...tror jeg... det får jeg at se :-) ellers skriver jeg igen
Avatar billede ellebaek Nybegynder
15. marts 2004 - 10:16 #8
Lækkert du fik det til at virke ;-)
Takker for points..

Du skriver bare hvis du får flere problemer..!

Mvh ..Ellebæk!
Avatar billede myanimalfarm Nybegynder
15. marts 2004 - 10:18 #9
hmm...har lige et til spørgsmål, hvis jeg laver dem om til tekstfelter kan jeg så f.eks sige at jeg vil se alle poster efter en bestemt dato? altså jeg ved godt hvordan man gør men virker det på et tekstfelt?
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