הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [ASP] בעיה עם excute. (https://hosts.co.il/forums/showthread.php?t=24533)

CSite.co.il 21-06-06 18:55

[ASP] בעיה עם excute.
 
הפכתי את הרשת, לא מצאתי פתרון.
אני מנסה לעשות עדכון מ textarea, למסד נתונים (אקסס).
קוד ההכנסה:
PHP קוד:

    SQLstr="INSERT INTO article ([movo]) VALUE ('"
    
SQLstr SQLstr Request("movo") & "')"
    
conn.Execute SQLstr 

שגיאה:
קוד:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/pannel/update.asp, line 21

שורה 21:
קוד:

conn.Execute SQLstr
תודה.
נ.ב - נסתי הרבה דרכים ותמיד היה לי בעיה עם ה-conn.excute
לחוששים - האובייקט הוא conn.
(
PHP קוד:

set conn=server.createobject("adodb.connection"

)

eLad 21-06-06 18:58

קוד:

SQLstr="INSERT INTO article (movo) VALUES ('" & Request("movo") & "')"
 conn.Execute SQLstr

הערות:

1. אל תעבוד עם Request אלא תציין במפורש Form או Querystring
2. אל תכניס ישירות לשאילתא משתנה, אלא תסנן אותו קודם
3. הבעיה הייתה שרשמה value במקום values (שים לב ל S)
4. משפט SQL של שורה אחת אין צורך לפרק, זה סתם פתח לבעיות

CSite.co.il 21-06-06 19:10

ציטוט:

נכתב במקור על ידי eLad
קוד:

SQLstr="INSERT INTO article (movo) VALUES ('" & Request("movo") & "')"
 conn.Execute SQLstr

הערות:

1. אל תעבוד עם Request אלא תציין במפורש Form או Querystring
2. אל תכניס ישירות לשאילתא משתנה, אלא תסנן אותו קודם
3. הבעיה הייתה שרשמה value במקום values (שים לב ל S)
4. משפט SQL של שורה אחת אין צורך לפרק, זה סתם פתח לבעיות

1. אני עובד עם המשפט האורגינל Querystring, בדר"כ.
2. סבבה.
3. נסתי גם עם ה-s אך גם לא עבד.
4. אוקיי, טנקס.
תודה אך עדיין לא עובד.
אין שגיאה אבל הוא לא מעדכן במסד נתונים =\

Might 21-06-06 21:22

שמע, תן את:
א'. החיבור המלא למסד
ב'. הקוד אחרי שהוספת S צימצמת וסיננת
ג'. השגיאה שמופיעה אחרי הוספת הS

דוד.

CSite.co.il 21-06-06 21:28

ציטוט:

נכתב במקור על ידי DavidBD
שמע, תן את:
א'. החיבור המלא למסד
ב'. הקוד אחרי שהוספת S צימצמת וסיננת
ג'. השגיאה שמופיעה אחרי הוספת הS

דוד.

א+ב+ג)
PHP קוד:

dsn="DBQ=" Server.Mappath("****.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
       
set conn=server.createobject("adodb.connection")
        
set r1=server.createobject("adodb.recordset")
       
conn.open dsn 
r1
.activeconnection=conn


SQLstr
="INSERT INTO article (movo) VALUES ('" Request("movo") & "')" 
 
conn.Execute SQLstr 



 conn
.close
 set conn
=nothing 

ד"א - עכשיו אין שגיאה, זה פשוט לא מעדכן את המסד, לא ידוע למה.
תודה

somebody 21-06-06 21:33

INSERT לא מעדכן, הוא מוסיף שורה.
update מעדכן:

update article set article.movo='"&request.querystring("movo")&"' where


CSite.co.il 21-06-06 21:44

תודה אלמוג, לא שמתי לב למרות שהתחלה היה אפדייט.
עכשיו צצה שגיאה חדשה ושכמובן היא ב excute,
ציטוט:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/pannel/update.asp, line 20

ציטוט:

SQLstr="update article set article.movo='"&request.querystring("movo")&"' where id = '9'"
conn.Execute SQLstr
המודגש זה שורה 20

somebody 21-06-06 22:39

ID הוא מסוג מספר, כאשר מציינים מספר לא שמים גרשמים משני צידי הקלט.
זאת אומרת:
where id=3
לא
where id='3'

CSite.co.il 22-06-06 00:34

ציטוט:

נכתב במקור על ידי somebody
ID הוא מסוג מספר, כאשר מציינים מספר לא שמים גרשמים משני צידי הקלט.
זאת אומרת:
where id=3
לא
where id='3'

עדיין לא מעדכן..
עריכה:אוקיי, הסתדרתי, ועדיין אני לא יודע מה היתה השגיאה, אבל שמתי קוד ישן שלי ועבד.

תודה לכולם.


כל הזמנים הם GMT +2. הזמן כעת הוא 06:48.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ