וובמאסטר - תיכנות ובניית אתרים
שאלות ותשובות:
הוסף תשובה

פקודת Insert מתוך cshtml

אני מנסה לרשום משתמש לאתר על ידי קוד ה- 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 וזה כן עבד.
מה לא בסדר בקוד שלי?

גיא גבע, 10/5/2014
תגיות: Sql cshtml‏  
הוסף תשובה  |  הוסף הערה
2 תשובות לשאלה זו
הוסף תשובה
תקן אותי אם אני טועה, אבל המתודה 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); //נוסיף את המשתמש החדש למסד הנתונים
---------------------------------
dorkelner, 11/5/2014
הוסף תשובה  |  הוסף הערה
אני משתמש ב- Database connection ולא בדאטאבייס עצמו. שיניתי את המתודה כדי שהיא תתאים לזה.
הוא רק צריך את שם המסד, לכול שאר הפרטים דאגתי, ולכן זה לא יכול להיות זה.
וגם בדקתי את זה על פקודת Select וזה כן עבד (זה לא מחזיר את התוצאה כי זאת מתודת void, אבל לא היה ארור).
גיא גבע, 11/5/2014
הוסף תשובה  |  הוסף הערה
הוסף תשובה לשאלה זו:




וובמאסטר © כל הזכויות שמורות