On 09 Apr 2007 22:22:24 GMT, Kenneth Christensen <etagnuz@hotmail.com>
wrote:
>Hejsa, jeg sidder og arbejder med et lille projekt, og har nu
>gemmen en del timer kæmpet med at få det her skidt til at virke,
>jeg har prøvet adskillige fremgangsmåder, besøgt en masse sites i
>et søg om hjælp, men lige lidt hjælper det..
Hvis dette felt altid skal oprettes med værdien aktuel tid, så er langt
det nemmeste at sætte feltets default-værdi til Now() i selve databasen,
så slipper du helt uden om problemet.
Det forhindrer dig ikke i hverken at ændre tiden eller at oprette en
post med en anden tid, hvis det undtagelsesvis skulle ønskes.
>Her er koden jeg sidder og roder med;
>
> <% var rUserName, rRating, rReview, rMovieId;
>
> rUserName = Request("userName");
> rRating = Request("rating");
> rReview = Request("review");
> rMovieId = Request("movieId");
>
>
> var d=new Date();
> var day=d.getDate();
> var month=d.getMonth() + 1;
> var year=d.getFullYear();
> var dato = year + "/" + month + "/" + day;
Dette er at gå over åen efter vand:
Du tager en dato-værdi, som du herefter konverterer til en streng-værdi
- for derefter at putte den ind i et dato-felt.
Tag i stedet et kig på:
<url:
http://www.asp-faq.dk/article/?id=98>
- hvis du skal indsætte datoer.
> var connection = Server.CreateObject( "ADODB.Connection" );
> connection.Open( "MovieLoversDatabase" );
> var insetReviewQuery = "INSERT INTO Reviewed " + "(userName,
>rating, review, date, movieId)" + " VALUES ('" + rUserName + "',
>'" + rRating + "', '" + rReview + "', '" + dato + "', '" +
>rMovieId + "')";
Når du har problemer med en SQL-streng, så er første skridt altid at
udskrive den. Se:
<url:
http://www.asp-faq.dk/article/?id=41>
Indsæt midlertidigt disse to linier før .Execute-linien:
Response.Write insetReviewQuery
Response.End
(omsæt selv til JScript, det er ikke min stærke side.)
Når du har udskrevet den resulterende SQL-streng, er det ofte meget
nemmere at se, hvad der er galt.
Mit gæt er, at det går galt, enten fordi '2007/4/9' ikke opfattes som en
dato - eller fordi et eller flere af de andre felter i din db ikke er
tekst-felter.
Hvis fx movieId-feltet ikke er et tekst-felt, skal der ikke ' om
værdien.
Din SQL-streng kunne fx se sådan ud:
var insetReviewQuery = "INSERT INTO Reviewed (userName, rating, review,
date, movieId) VALUES ('" + rUserName + "', " + rRating + ", '" +
rReview + "', Now(), " + rMovieId + ")";
- her er det forudsat, at rating og movieId-felterne er tal-felter.
Tilret selv.
Bemærk, at dato-feltet blot benytter Access' indbyggede funktion Now() -
det er altså ikke en ASP-funktion, men en Access-funktion, og den skal
derfor blot skrives direkte ind som en del af SQL-strengen.
<snip resten>
Good luck!
--
Jørn Andersen,
Brønshøj