שלח תשובה

זירת השאלות

1726
צפיות
2
תשובות

פקודת Insert מתוך cshtml

,‏ 10 במאי, 2014

אני מנסה לרשום משתמש לאתר על ידי קוד ה- cshtml הבא:
MyAdoHelper.DoQuery("users", "Insert Into users (username, password, e-mail, birth-date) Values (‘" + Request["username"] + "’,’" + Request["password"] + "’,’" + Request["e-mail"] + "’,#" + Request["birth-date"] + ")");
(המתודה DoQuery פשוט עושה את השאילתה בקובץ SQL שאני נותן לה)
כשאני מפעיל את הקוד זה רושם Eror Syntax.
בדקתי את המתודה עם פקודת Select וזה כן עבד.
מה לא בסדר בקוד שלי?

2 תשובות

  1. dorkelner הגיב:

    תקן אותי אם אני טועה, אבל המתודה DoQuery, אצלי לפחות, מקבלת שם מסד נתונים, ושאילתת הוספהעדכוןמחיקה ומבצעת אותה בפועל על המסד.
    אז לא נראה לי הגיוני ששם המסד נתונים שלך הוא "users" אצלי הוא "Database.mdf" למשל, אולי חסרה לך רק הסיומת .mdf, בכל מקרה אני לא יודע לעבוד טוב בcshtml אבל הנה דוגמא לקוד דומה בC#

    —————————–
    string filename="Database.mdf";
    string sql = "INSERT INTO AnimeData(UserName,Age,Requests,Gender,Email,Password)"; //ניצור את שאילתת ההוספה
    sql += " VALUES(‘" + Request.Form["UserName"] + "’,’" + Request.Form["Age"]+ "’,’" + Request.Form["Requests"]+ "’,’" + Request.Form["Gender"]+ "’,’" + Request.Form["Email"]+ "’,’" + Request.Form["Password"]+ "’)";
    MyAdoHelper.DoQuery(filename, sql); //נוסיף את המשתמש החדש למסד הנתונים
    ———————————

  2. גיא גבע הגיב:

    אני משתמש ב- Database connection ולא בדאטאבייס עצמו. שיניתי את המתודה כדי שהיא תתאים לזה.
    הוא רק צריך את שם המסד, לכול שאר הפרטים דאגתי, ולכן זה לא יכול להיות זה.
    וגם בדקתי את זה על פקודת Select וזה כן עבד (זה לא מחזיר את התוצאה כי זאת מתודת void, אבל לא היה ארור).

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!