פורסם 2005 בנובמבר 2220 שנים יש לי קוד asp שהורדתי מהאינטרנט שקורא מתוך טבלה את הרשומות ומציג אותן על דף האינטרנט...אך אני רוצה שהוא יקרא מתוך שאילתא, האם זה אפשרי ?תודה
פורסם 2005 בנובמבר 2220 שנים כן בדיוק אותו דברבקובץ ה- mdb אתה מגדיר את השאילתה שלך בשם Query1 למשל:select ID, Name, Salary From Table1ובדף ה- asp שלך אמור להיות פתיחה של המסד בעזרת אובייקט Adodb.Connectionsולאחר מכן בקשת שאילתה מהשאילתה המוכנה בעזרת אובייקט Adodb.Recordsetשמשפט שלו יראה משהו כמוrs.Open ("Query1",cn1,2,3)
פורסם 2005 בנובמבר 2320 שנים מחבר איפה בדיוק לשים את זה בקוד הזה ? var messages=new Array()<%dim sql_mess,fcount,rs_messset rs_mess=server.CreateObject("ADODB.recordset")sql_mess="select * from main"rs_mess.Open sql_mess,conn,3fcount=rs_mess.RecordCount
פורסם 2005 בנובמבר 2320 שנים במשתנה שלך sql_messבתוך הגרשיים אתה שם במקום מה שכתוב , את שם ה- Query כפי שקראת לו ב- Access כאשר יצרת אותו
פורסם 2005 בנובמבר 2320 שנים מחבר ניסיתי את זה, כי זה היה נראה די ברור, אבל זה פועל רק עם טבלאות, שם של שאילתא לא מניב כלום...האם יכול להיות שהוא מציג רק טבלאות כי הוא לא יכול להציג שאילתה עם קריטריונים
פורסם 2005 בנובמבר 2320 שנים ניסיתי את זה, כי זה היה נראה די ברור, אבל זה פועל רק עם טבלאות, שם של שאילתא לא מניב כלום...האם יכול להיות שהוא מציג רק טבלאות כי הוא לא יכול להציג שאילתה עם קריטריונים כן , לא ציינת שהשאילתה מקבלת פרמטרים, אז הטיפול קצת אחר, בגדול זה נראה משהו כזה <% set cn1 = Server.CreateObject("Adodb.Connection") set cmd1 = Server.CreateObject("Adodb.Command") cn1.Open "xxx" cmd1.ActiveConnection = cn1 cmd1.CommandText = "Query1" cmd1.CommandType = 4 cmd1.Parameters.Append cmd1.CreateParameter("שם השאילתה", adInteger, adParamInput, , 2) Set rs1 = cmd1.Execute Do While rs1.EOF = False Response.Write (rs1.Fields("שם שדה להדפסה").Value) rs1.MoveNext Loop rs1.Close cn1.Close%>שים לב לקבועי מערכת adParamInput ו - adInteger שבאים עם הספריה של ADODB אבל לא מוכרים ב- ASP ולכן אתה צריך להגדיר קובץ include או שתפתח ב- Excel את ה- VBA ותראה שם מהם הקודים לכל אחד מהקבועים האלו ותחליף בתכנית שלך את שמות הקבועים בקודים המתאימים
פורסם 2005 בנובמבר 2820 שנים מחבר וואוו, זה נראה די מסובך, אולי יש לך קישור לקוד מוכן כזה ?אני פשוט צריך משהו כזה ולא מכיר דרך אחרת לעשות את זה...
פורסם 2005 בנובמבר 2820 שנים לא אין לי , זה לא כ"כ מסובך האובייקט command הוא פשוט אובייקט שמאפשר לשלוח שאילתה לשרת ה- database עם פרמטריםתגיד לי איזה פרמטרים יש אצלך ומה סוג הנתונים שלהם (string או int ) ואני אגיד לך איך הפקודה תראה ספציפית למקרה שלך
פורסם 2005 בנובמבר 2820 שנים מחבר כעקרון יש לי טבלה עם נתונים על אנשים, ביניהם ימי הולדת, השאילתא מציגה את האנשים שיש להם יום הולדת השבוע...כך שהנתונים זה שם ותאריך...
פורסם 2005 בנובמבר 2820 שנים זה כל הסיפור ? אז תבכלל לא צריך להסתבך בקוד , תחזור לקוד הקודם הפשוט שאתה מכירואת הלוגיקה שישלוף ימי הולדת שחלים השבוע תעביר לאחריות ה- Databaseבהנחה שאתה עובד עם Access הקוד הבא אמור לעבוד ולשלוף תמיד תאריכים שהשבוע שלהם חל בשבוע הנוכחיב- DB אחרים יש פתרונות דומים רק שהקוד נראה מעט שונהSELECT Table1.ID, Table1.Name, DatePart("ww",[Date]) AS Week_Of_BDay, DatePart("ww",Now()) AS Week_Of_TodayFROM Table1WHERE DatePart("ww",[Date]) = DatePart("ww",Now());
פורסם 2005 בנובמבר 2820 שנים מחבר הנה הקוד עם מאגר הנתונים,יש שם 2 טבלאות messages שתציג הודעות עם הקוד שמצ"ב ו - birthday שבה אמורים להיות כתובים השמות...אני באמת מצטער שאני משגע אותך, אבל אני לא יודע איפה לכתוב את כל מה שציינת בקוד asp...שוב תודה...ומצטער על כל הטרטור...[attachment deleted by admin]
פורסם 2005 בנובמבר 2920 שנים ללא צורך בהעברת פרמטרים, ה- Database מחשב לבד את התאריכים שנופלים השבוע בדף ה- ASP <%@Language=VBScript%><%option explicitdim cn1dim rs1dim html1set cn1 = Server.CreateObject("ADODB.Connection")cn1.Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\db1.mdb;Mode=Share Deny None")set rs1 = Server.CreateObject("ADODB.Recordset")rs1.Open "Query3",cn1,0,1html1 = "<table border=1>"do while rs1.EOF = false html1 = html1 & "<tr>" html1 = html1 & "<td>" & rs1.Fields("message_txt").Value & "</td>" html1 = html1 & "<td>" & rs1.Fields("Date").Value & "</td>" html1 = html1 & "<td>" & rs1.Fields("מספר").Value & "</td>" html1 = html1 & "</tr>" rs1.MoveNextloophtml1 = html1 & "</table>"Response.Write html1rs1.Closeset rs1 = Nothingcn1.Close()set cn1 = Nothing%>ב- Database את בונה 2 שאילתות הראשונה המטרה שלה לחשב את תאריכי הלידה כאילו היו השנה ובאיזה שבוע הם נופלים השנה , תקרא לה למשל Query2:SELECT birthday.message_txt, birthday.Date, birthday.מספר, DateSerial(Year(Now()),Month([Date]),Day([Date])) AS ThisYearDate, DatePart("ww",ThisYearDate) AS ThisYearWeekFROM birthday;השאילתה השניה תקרא לה Query3 המטרה שלה לבחור מתוך Query2 רק את התאריכים שהשבוע שלהם נופל על השבוע הנוכחיSELECT Query2.message_txt, Query2.Date, Query2.מספר, Query2.ThisYearDate, Query2.ThisYearWeekFROM Query2WHERE (((Query2.ThisYearWeek)=DatePart("ww",Now())));הכל על סמך הקובץ ששלחת
פורסם 2005 בנובמבר 2920 שנים מחבר תודה רבה רבה לך !!!! אני אנסה את הקוד ואראה אם זה מצליח, הכל לפי הקבצים שלי, נכון ? זה פשוט copy paste לכל מה שכתבת פה.... כן ? שוב תודה ! אתה בן אדם נהדר !
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.