קוד פשוט אבל אני לא מצליח למצוא את השגיאה...

קוד פשוט אבל אני לא מצליח למצוא את השגיאה...

מה שאני מנסה לעשות פה בגדול זה להוציא נתונים מהמסד לתוך המערך arr הודעת השגיאה מתייחסת לתנאי, כשאני מוריד את התנאי אין הודעת שגיאה אבל אי אפשר להשתמש במערך משום מה אגב, מסד הנתונים לא ריק
y="SELECT * FROM shalom"; var conn,arr; conn = Server.createObject("adodb.connection"); conn.open = "DRIVER={mysQl ODBc 3.51 Driver};SERVER=***;DaTaBasE=****;UID=***;pWD=****; OpTIOn=35;" var rs=conn.execute(y); If (rs.EOF) { Response.Write "No records matched" Response.End } var arr,g,k arr = rs.GetRows​
השגיאה:
Error Type: ‏‏שגיאת קומפילציה של Microsoft JScript (0x800A03EC) ‏‏נדרש ';' /service/test/getthum.asp, line 22, column 12 If (rs.EOF) {​
 

Xעמרי

New member
למה לא להקשיב למה שהוא אומר?

שים נקודה פסיק (;) החלטת לעבוד עם JS, תיצמד לסינטקס, בסוף כל שורה - ; ולדעתי הdocument.write צריך להיות גם עם סוגריים
 
תודה, נתקלתי בבעיה חדשה:

אני מנסה להציג נתונים ממסד נתונים, אבל הוא מתעקש שהמסד ריק וכפלט אני מקבל -1, למרות שיש נתונים בטבלה.
var conn= Server.CreateObject("ADODB.Connection"), SQLstr conn.Open ("mySDN") SQLstr="SELECT * FROM family" rs = conn.Execute (SQLstr) Response.write(rs.RecordCount); conn.Close​
אשמח לשמוע רעיונות כי אני לא מבין איפה הטעות.
 
אני יודע שהיה אבל אני לא מוצא,

שימוש בgetrows עם js, חיפשתי המון ומצאתי רק דוגמאות לשימוש עם vb. תודה מראש.
 

Xעמרי

New member
השימוש הוא פשוט

בסופו של דבר אתה מקבל מערך דו מימדי שעליו אתה יכול לעשות אטרציה אם תרצה, כתבתי פעם איזשהו פורום בעזרת מאמר שאני ממש מתאמץ כרגע לזכור מאיפה הוא נלקח ולא מצליח בכל אופן, הפורום נמצא ב http://www.vendors.co.il/forum/forum.asp?fID=1 תוכל לראות שם את כל הקוד JS שדרוש לך לשימוש במערך נתונים שכזה
 

זהר פלד

New member
לא ב js...

ב js אתה מקבל מערך חד מימדי. יש מאמר של ניר על עבודה עם getRows ב js ב webmaster - http://www.webmaster.org.il/article.asp?id=138 לגבי recordCount, צריך לפתוח את ה recordset עם cursorType ו lockType מתאימים, אאל"ט 1, 2. מצד שני, אין דבר טפשי יותר שאתה יכול לעשות מאשר לשלוף את כל הנתונים בטבלה רק כדי לדעת כמה שורות יש לך. בשביל זה המציאו את COUNT של sql.
 
למה לא? VBArray?

http://msdn2.microsoft.com/en-us/library/y39d47w8.aspx דוגמא קלה:
var rs = Server.CreateObject("ADODB.Recordset"); try{ rs.Open(Sql, Dsn, 3, 1); var data = new VBArray(rs.GetRows()); rs.Close(); for(var i = 0; i <= data.ubound(2); i++) { Response.Write(data.getItem(0, i)); } }catch(e){ var errDescription = e.number + ": " + e.description; Response.Write(errDescription); }​
 
למעלה