עזרההההה בבקשה!!!

עזרההההה בבקשה!!! ../images/Emo13.gif

קודם כל אני משתמש ב ms sql server יש לי שדה בשם end_time אשר בו מאוכסן תאריך סיום אני רוצה להציג לגולש באתר אך ורק רשומות שה end_time שלהן לא עבר. ניסיתי להריץ את הפקודה הבאה: sql = "SELECT * FROM ads WHERE category_id = "& subCat_id &" and '#"& Date() &"#' <= '#end_time#' order by id DESC אבל זה לא נתן לי את מה שרציתי. יש לכם מושג איך אפשר לעשות את זה?
 
תביא עוגה! ../images/Emo96.gif

קודם כל ה order by שלך לא במקום, הוא צריך להיות אחרי סוף ה where . וחוץ מזה אתה צריך להשתמש בפונקציה datediff כדי לדעת מי לפני מי. ושלישית: ב sql server לש משתמשים ב # אלא בגרש יחיד לתחימת תאריכים. חוץ מזה - הכל בסדר.
 
תוכל לרשום לי את שורת הSQL מתוקנת?

תוכל לרשום לי את שורת הSQL מתוקנת? זה מאוד יעזור לי, אני כבר חורש את כל האינטרנט בשביל למצא פתרון...
 
ניסיתי את ההצעה שלך...

זה לא עובד לי, אני בכלל לא מכיר את הפונקציה הזאת datediff ובכלל אני לא מאכסן את end_time בשדה מסוג תאריך אלא רק במבנה אחיד של: dd/mm/yyyy
 
אתה יכול לקרוא על הפונקציה

datediff בBooks on line, שמגיע עם SQL Server. מאחר ואתה עובד עם סטרינג בשדה של התאריך, תאלץ לעבוד עם הפונקציה convert כדי להתיחס לשדה כתאריך. ניתן למצוא פרטים על הפונקציה convert בbooks on line. בSQL Server לא שמים סימן # מסביב לתאריכים. במקום הסימן סולמית שמים גרש. הפונקציה date לא קיימת בSQL Server. במקום הפונצקיה date יש פונקציה ()getdate. הצעה נוספת, שלא קשורה לפתרון שלך - בקטע הקוד הקצר שמצורף למסר שלך, יש בנייה של משפט SQL, שמבוסס על input של המשתמש לחלון במסך. חובה, חובה, חובה, חובה לבצע בדיקות תקינות לinput של המשתמש. במידה ואתה לא בודק, אתה חושף את האפליקציה לSQL Inection.
 
למעלה