שלח תשובה

זירת השאלות

599
צפיות
5
תשובות

כמה שאלות על מסדי נתונים ו SQL

,‏ 8 באוגוסט, 2006

1. מה ההבדל בין התקשרות DSB להתקשרות ללא DSN ?
2. מה ההבדל בין שתי הדרכים הבאות ליצירת רקורדסט
דרך ראשונה: קוד שנוצר אוטומטית בדרימוובר

Dim MM_visuals_STRING
MM_visuals_STRING = "dsn=visuals;"
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet .ActiveConnection = MM_visuals_STRING
RecSet .Source = "SELECT *  FROM table1"
RecSet .Open()

דרך שנייה:

set DB = server.createObject("ADODB.Connection")
DB.open "visuals"
set RecSet = DB.Execute("SELECT *  FROM table1")
DB.Close
set DB = Nothing

3. יש לי שדה בוליאני בטבלה מסוג כן/לא. אני רוצה לבחור את הרשומות בהן שדה זה הוא אמת/כן.
כתבתי משפט SQL :

SELECT * FROM table1 WHERE gallery?=True

ניסיתי לכתוב גם שווה ל YES , 0 , 1 וכל הזמן זה מחזיר לי שגיאה, איך אני אמורה לכתוב נכון את המשפט ?

תגיות:

5 תשובות

  1. זהר פלד הגיב:

    אז ככה:
    לגבי השאלה הראשונה – ההבדל הוא זניח.
    ההבדל העיקרי הוא איפה נכתב ה connectionString – בקוד או ב odbc. מעבר לזה אין כמעט הבדל במשמעות.

    לגבי השאלה השניה – הדרך של דרימוויבר מייצרת אובייקט connection מאחורי הקלעים, שלך כמתכנתת אין דרך לגעת בו. קראתי פעם איפשהו שהדרך הזו פחות מומלצת כי היא לא משתמשת ב connection pool של ה iis. גם אם זה לא נכון, היא פחות מומלצת כי היא עלולה לגרום לזליגת זיכרון, במידה ובעקבות באג כלשהו ה connection object נשאר פתוח על השרת אחרי שה recordset נסגר.
    הדרך המומלצת היא ליצור connection דרך הקוד, ועליו לפתוח את ה recordset.

    לגבי השאלה השלישית – על איזה מסד נתונים מדובר?

  2. לימונענע הגיב:

    אקסס
    יש מצב שאסור לי לשים סימני שאלה בשמות של העמודות ?

  3. aviadfe הגיב:

    דומני שאסור
    אם זה אקסס, אז בודאות אסור, כי סימני שאלה באקסס משמשים כפרמטרים לשאילתות.

  4. gilad123 הגיב:

    תוסיף [] על שם העמודה
    אקסס מקבל בעיקרון כל סוג של שם עמודות אם פונים אליו בתוך []
    נסה

    SELECT * FROM table1 WHERE [gallery?]=True

  5. aviadfe הגיב:

    לא יעיל בכלל
    צריך להרגיל אותם לעבוד עם אקסס כמו עם מסדי נתונים דוגמת SQL SERVER.
    בלי שמות בעיברית בלי תוים בעייתיים, כי מה יהיה ביום שירצו המרה.

    בתוכנה צריך תמיד לחשוב קימה על גידול.

שלח תשובה