שאלה קטנה בעניני DB

שוLמית

New member
שאלה קטנה בעניני DB

עד עכשיו עבדתי עם SQL Server, וכדי להתחבר מה#C היה לי איזה שהוא Connection String, ועשיתי כך:
SqlConnection conn = new SqlConnection(strconn); conn.Open();​
עכשיו אני מנסה להתחבר ל-Access. האם זה מוכרח להיות ע"י ODBC או שיש דרך פשוטה מזו? תודה שולמית
 

Zeliran

New member
כמעט אותו הדבר..

אתה רק צריך להוסיף את:
using System.Data.OleDb;​
ובשביל ליצור connection, תשתמש בזה:
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=CONNECTION_STRING");​
אם אני לא טועה לכל אובייקט של sqlServer יש הגבלה ב OleDb.. למשל אם עד עכשיו השתמשת ב
SqlDataAdapter aa = new SqlDataAdapter... אז עכשיו.. OleDbDataAdapter adapter...​
 

שוLמית

New member
תודה רבה, אבל

איך אני כותבת את ה-Connection String. עד עכשיו כתבתי:
workstation id=SHULAMIT;packet size=4096;integrated security=SSPI;data source=SHULAMIT;persist security info=False;initial catalog=TESTDATABASE;​
איך אני כותבת את זה עבור Access כך שאני אוכל לכתוב את שם הקובץ MDB ואת הנתיב שלו? תודה רבה שולמית
 

yuval k

New member
מחרוזות חיבור

יש כאן אתר עם דוגמאות
 

שוLמית

New member
../images/Emo41.gifתודה רבה ושאלה נוספת../images/Emo41.gif

האם אני יכולה לדעת ב-PageLoad מאיפה היה ה-PostBack
זאת אומרת, איזה Control עשה את ה-PostBack
 

שוLמית

New member
../images/Emo26.gifיש למישהו מושג../images/Emo36.gif

ממש תודה על כל העזרה בשאלה הקודמת והשאלה הבאה. אשמח לקבל תשובה על השאלה הזו תודה שולמית
 

gilad g

New member
כן,

לכל "מטפל אירוע" (או event handler - הפוקנציה שמטפלת באירוע שקרה) יש פרמטר "sender", הוא מסוג object. הוא בדרך כלל יכיל את הפקד שזרק את ה-event. שימי לב שצריך לעשות casting
 

שוLמית

New member
../images/Emo51.gif אבל לא התכוונתי לזה

השאלה שלי אם ב-PageLoad אני יכולה לדעת איזה פקד עשה את ה-PostBack... תודה רבה
 

שוLמית

New member
אני מבינה שהתכוונת ל-sender

שמקבלים ב-PageLoad, אבל תמיד אני מקבלת שם - ASP.WebForm1_aspx. גם כאשר ה-PostBack הוא מ-Button. אשמח לכל רעיון אחר. שולמית
 

gilad g

New member
המממ

משיטוט קצר ב-MSDN, מצאתי שאפשר לעשות override ל-RaisePostBackEvent (מתודה של Page), ומשם לקבל את הפקד שעשה את ה-postback:
//This is obviously code-behind: public class myPage : Page { protected override void RaisePostBackEvent( IPostBackEventHandler sourceControl, string eventArgument) { base.RaisePostBackEvent(sourceControl, eventArgument); //must call this, or the postback event won't get fired! Control myPostBackCtrl = (Control)IPostBackEventHandler; //use myPostBackCtrl now. better save it in a private field for later use. } }​
זהו
 

שוLמית

New member
נהדר, תודה.

שאלה קטנה, אם ה-PostBack יכול להיות מכמה Controls שונים. האם נסיון לעשות Casting יתן הודעת שגיאה (זאת אומרת שאני צריכה try, catch) או שהוא יתקבל, ואז איך אני אדע מי הפקד ששלח זאת? ממש תודה רבה
 

שוLמית

New member
לא בנתי

אם יש לי כמה Controls על הדף, לדוגמא: Button, CheckBox,RadioButtons וכו' ולכולם מסומן: AutoPostBack=true. עכשיו מישהו לוחץ על אחד הפקדים, וזה מגיע ל-PageLoad עוד לפני שמגיע לאירוע של הפקד. ב-PageLoad אני רוצה לדעת איזה פקד נלחץ. מה לא ברור? ובמה אני טועה?
 

gilad g

New member
בדיוק...

ומה שאני טוען זה שתמיד יהיה פקד אחד כזה כל פעם כשיהיה post back, כי תמיד רק פקד אחד יגרום ל-postback
להזכירך, Page Load נקרא בכל post back מחדש
 

שוLמית

New member
ומה ששאלתי

מה קורה אם אני מנסה לעשות Casting לפקד מסוג Button ומה שעשה PostBack הוא דוקא CheckBox?
 
למעלה