394
צפיות
צפיות
32
תשובות
תשובות
שאלה על משתמשים בפורום
יש לי טבלה של משתמשים בפורום ויש י את הטבלה של הפורום עצמו.
איך אני משלב את טבלת המשתמשים עם טבלת הפורום בצורה הטובה ביותר? (ע"י ה-ID של המשתמש או השם משתמש? ואם ע"י ה-ID איך אני מחליף בין ה-ID של המשתמש לשם משתש עצמו)
32 תשובות
בעיה עם שאילתא
יש לי את השאילתה הבאה שאמורה לבדוק האם קיים שם משתמש במסד נתונים ששווה לשם משתמש שהמשתמש הקליד למה המשפט הבא לא פועל?
rs.open "SELECT* FROM regP1 where NName='& namee &'" , conn,3,3,1
if rs.eof then
response.redirect("regP2.asp")
else
response.redirect("regP1.asp?wrong=1")
end if
תשנה את השאילתה לזה
rs.open "select * from regP1 where NName='" & namee & "'" , conn, 3, 3, 1
וקצת יעילות
לדעתי לא צריך את כל הפרמטרים שיש אחרי פרמטר החיבור זה סתם מעמיס כי ממילא אתה לא משתמש ממש ברקורדסט
למה אתה שולף את כל הרשומות אתה לא צריך אותן לכן אני מציע שתשלוף רק את רשומת ה-ID (אם קיימת כזו)
לפני Redirect תסגור חיבורים
אז ככה..
1. עם הid של המשתמש.
2. פשוט עושים שאילתה.
sql="select * from tblUsers where ID=" & ID
אין דרך לשלב את שתי הטבלאות?
אתה מתכוון במסד או בשאילתה?
במסד זה קשרי גומלין, ובשאילתה זה join.
תודה!
קרא על שאילתות JOIN
http://www.w3schools.com/sq;/sq_join.asp
(צריך לכתוב על זה מאמר!!!)
חחח בטח אתה כבר כותב לא?
במסד זה שניהם
קשרי גומלין לוגית
JOIN זה מעשית
הגדרת קשרי הגומלין גורמים בעצם לשף השאילתות של אקסס ליצור JOIN על הטבלאות שנבחרו
אולי מחר
אולי אני יכתוב.
אבל אני לא בטוח שאני מכיר את כל הסוגים..
inner join
left join
right join
ו..?
אההה..
וfull outer join.
SELF JOIN
ג'וינים מקוננים גם יש
|חבול| תיקונים
למה אתה שולף את כל העמדוות אתה לא צריך אותן לכן אני מציע שתשלוף רק את עמודת ה-ID (אם קיימת כזו)
|חבול| זה מה שקורה כאשר מגיבים אחה"צ 😛
בעיה עם מסדים…
משום מה יש לי את הERROR הבא הוא מפנה אותי לשורה הזאת:
rs("groupTime")=time()
rs("msgDate")=date()
rs("msgTime")=time()
rs.update
rs.close
הנה ה-ERROR:
Microsoft JET Database Engine error '80040e21'
The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.
/aspyoava/InMsg.asp, line 55
מקונן??
אז שליפה מ4 טבלאות? לא ידעתי..
אפשר הסבר קצר לSELF?
מבנה הADO update שלך בסדר,
אבל העידכון שאתה עושה גורם לכפיליות במסד.
זה בגלל שאתה להכניס time פעמיים (נראה לי)..
שאתה מנסה להכניס*
אני מראה את כל קוד ההוספה!
rs.addnew
rs("msgSubject")=title
rs("msgBody")=msg
rs("levelId")=0
if grop(0,0)<>"" then
rs("groupId")=Cint(Cint(grop(0,0))+1)
else
rs("groupId")=1
end if
rs("groupDate")=date()
rs("groupTime")=time()
rs("msgDate")=date()
rs("msgTime")=time()
rs.update
rs.close
end if
conn.close
set conn=nothing
מהו המפתח הראשי בטבלה שלך?
המפתח הראשי בטבלה שלי הוא userId…
איחוד בין הטבלה לעצמה
בגלל זה כתבתי שאני צריך ללמוד את זה עוד קצת כי אני בעצמי לא יודע את כל הנושא.
שליפה מקוננת זה שעושים יותר מ-JOIN אחד בשליפה
ERROR שלא נמצא ב-MSDN…………..
נתקלתי בפרוייקט שלי
הנה הERROR :
error '80020009'
Exception occurred.
/aspyoava/forum.asp, line 58
הנה חלק מהקוד כולל שורת הקוד הרלוונטית
<% rs.movenext
if cInt(rs("levelId"))=cInt(0) then %>
</div>
<%end if
loop%>
בשביל להבין יותר טוב את הבעיה לינק
מה זאת אומרת איחוד בין הטבלה לעצמה?
ואם עושים תת שאילתה עם Join נוסף מכמה טבלאות שולפים ככה?
==>

כנס לפורום בסיסי נתונים בתפוז וקרא קצת את המאמר שלי ותבין
כבר שלחתי אותו למנהלי האתר
ראיתי
אבל יש גם cross join, תקרא את התגובה שלי בבסיסי נתונים
ידעתי ששכחתי אחד
אבל לא משנה בגלל שהוא "פרימיטיבי" והאפקט שלו להבנתי דומה מאוד לשל LEFT
אני הייתי מציין אותו..
ולמרות שהוא דומה לleft join עדיין יש כאלה שמשתמשים בו.
ולא כתבת על שאילתות Join מקוננות.
צודק!
אני הולך להוסיף את זה
אני גם כותב מאמר..
בקרוב (כשאני יגמור) אני יעלה אותו לבסיסי נתונים שייראו אם הכל נכון..