• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

Robatic

أعضاء الشرف
  • عدد المشاركات

    156
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

52 جيد

عن Robatic

  • الرتبة
    عضو شرف

معلومات الملف الشخصي

  • الجنس ذكر

أحدث الزائرين لملفلك الشخصي

6,413 زياره للملف الشخصي
  1. أختي العزيزة شوري السلام عليكم ورحمة الله وبركاته في الـ Code الذي يقوم بعملية الحذف من قاعدة البيانات، هل من الممكن أخذ قيمة الحقل الذي يحوي مسار الملف المراد حذفه ؟ إذا نعم فأنا أعتقد أن المشكلة التي تواجهك هي عبارة عن تحويل مسار الملف من الـ Virtual Path إلى الـ Physical Path. الذي أعرفه هو أنه عندما تريدين حذف أي ملف في الجهاز الخادم الـ Server فأنت في هذه اللحظة خرجتي من عالم الويب إلى عالم الـ I/O Stream. فمثلا لو كانت الملفات موجودة في مشورعك في مجلد تحت اسم files، ولنفرض أن هذا المجلد في مستوى الـ Root كما هو الحال في المثال التالي - <images_folde> - <files_folder> - <css_folder> - aspx file 1 - aspx file 2 - aspx file 3 . . . . . فلكي تعرضي الملف تقومي بوضع رابط إكالتالي <a href="files/your_file_to_be_viewed">file name from database</a> ولكن لحذف الملف فعليا Physically من القرص الصلب لا ينفع أن تقومي بإعطاء Virtual Path كما في المثال التالي File.Delete("files/your_file_name"); كل ما عليكي فعله هو إستخدام الدالة Server.MaptPath كما في المثال التالي Server.MapPath("~/files/your_file_name"); // or Server.MaptPath("~" + file_path_from_database); في حالة أن هذه المعلومات كانت لا توصلك إلى ما تريدين إنجازة أرجو منكي وضع الـ Code الخاص بعملية الحذف لديكي وتركيب الجدول الذي تقومين بتخزين الملفات فيه. أتمنى لكي التوفيق
  2. سوال بخصوص DATAVIEW

    السلام عليكم غالي والطلب رخيص يا بن هاشم يا بن هاشم أنا بصراحة ما أقدر أحدد متى تستخدم كل من الـ DataTable, DataRow, and DataColumn ولكن أقدر أوضحلك كيفية إستخدامهم، وانت يبقى عليك تحدد متى تستخدمهم، أو متى يكون من الأسهل والأفضل إستخدامهم. عزيزي الكريم، الـ DataTable عبارة عن Object يحتوي على كلا من الـ DataColumn و DataRow. بالنسبة للإستخدامات فهي كثيرة، ممكن تستخدمه لعملية Binding لـ DataGrid أو لـ DataList أو لـ DataView أو لـ CrsytalReport أو لـ Microsoft Report أو داخل DataSet أو لأي شيء تشوفة مناسب. عشان تبسط الفكرة خلينا ناخذ مثال: أفرض إننا نبغى ننشئ جدول مكون من حقلين وهما ID من نوع int و Person_Name من نوع string، ونقوم بإدخال بيانات بشكل عشوائي لهذا الجدول وإظهاراها عن طريق GridView و ListView. راح يكون الكود في صفحة التصميم aspx كالتالي: <h3>Binding our DataTable to GridView</h3> <asp:GridView ID="myGridView" runat="server" Width="100%" AutoGenerateColumns="false"> <Columns> <asp:BoundField HeaderText="ID" DataField="ID" /> <asp:BoundField HeaderText="Name" DataField="Person_Name" /> </Columns> </asp:GridView> <h3>Binding our DataTable to ListView</h3> <asp:ListView ID="myListView" runat="server" ItemPlaceholderID="itemPlaceHolder"> <LayoutTemplate> <table width="100%" cellpadding="5px" cellspacing="0"> <tr> <td style="color: #00f; font-weight: bold">ID</td> <td style="color: #00f; font-weight: bold">Name</td> </tr> <asp:PlaceHolder ID="itemPlaceHolder" runat="server" /> </table> </LayoutTemplate> <ItemTemplate> <tr> <td><%# Eval("ID") %></td> <td><%# Eval("Person_Name") %></td> </tr> </ItemTemplate> </asp:ListView> وراح يكون الـ Code Behind في ملف الـ aspx.cs كالتالي: protected void Page_Load(object sender, EventArgs e) { // Creating DataTable instance System.Data.DataTable dt = new System.Data.DataTable(); // Adding columns using DataColumns dt.Columns.Add(new System.Data.DataColumn("ID", typeof(int))); // or dt.Columns.Add("ID", typeof(int)); dt.Columns.Add(new System.Data.DataColumn("Person_Name", typeof(string))); // or dt.Columns.Add("Person_Name", typeof(string)); // Adding rows using DataRow for (int i = 1; i <= 10; i++) { System.Data.DataRow newRow = dt.NewRow(); /* The method System.Data.DataTable.NewRow() will return an instance of Syatem.Data.DataRow with the same structure of the calling System.Data.DataTable instance. The fields in the newly created instance of System.Data.DataRow can be accessed trough a zero-based index or by column name (I prefer column name) */ newRow["ID"] = i; newRow["Person_Name"] = "Person #" + i; dt.Rows.Add(newRow); // or dt.Rows.Add(i, "Person #" + i); } // Binding GridView myGridView.DataSource = dt; myGridView.DataBind(); // Binding ListView myListView.DataSource = dt; myListView.DataBind(); } أتمنى أن اكون قد أصبت وأتمنى لك التوفيق والنجاح
  3. سوال بخصوص DATAVIEW

    السلام عليكم يا هلا والله با بن هاشم يا بن هاشم بالنسبة للـ DataView أنا أعتقد إنه المقصود بجملة "تسهيل الإستعلام" هو في حالة إنه لو كانت البيانات قد تخزنت أول مره كاملة، فبدل من أن نقوم مرة أخرى بإستعلام جديد يمكننا فلترة الـ DataView (ولكن ماذا لو كان هناك تحديث مستمر على قاعدة البيانات؟؟؟؟!!!). هذا الكلام ممكن يصير لو كنت تتعامل مع Windows Application، ولكن بالنسبة للـ APS.NET لاتنسى إنه العملية هنا راح تكون Stateless. إلا لو كنت ناوي تجيب البيانات مرة وحدة وبعدين راح تخزنها في ViewState أو Session. المهم، في حالة وجود أكثر من شرط قوم بالتعامل مع الـ RowFilter Property وكأنك تكتب Where Clause، ولكن بدون ما يكون عندك Subquery تماما كما هو موضح في المثال التالي DataView dv = any_datasource; dv.RowFilter = "C1=any_value_1 and C2=any_value_2 and C3=any_valu_3 ..... and Cn=any_value_n"; /* where C1, C2, C3 .... Cn are columns in "dv" DataView */ أتمنى لك التوفيق والنجاح
  4. خطأ يظهر عند عمل run للموقع

    أخي العزيز Ahmed_Amer هل يحدث هذا الخطأ عندما تقوم بعمل run من الـ Visual Studio أم فقط عندما تقوم بنقل المشروع إلى الـ IIS ثم تشغيله من هناك؟ إذا كانت الحالة الأولى هي الصحيحة، إذا عليك فعل الآتي: قم بأخذ نسخة إحتياطية من الملف %windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.config وبعد ذلك قم بنسخ وإستبدال محتوى الملف %windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.config.default إلى الملف %windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.config هذا في حالة أن نسخة الـ dotNet Framework هي من 2 إلى 3.5 ، أما لو كانت 4 فأعتقد أن عليك تحديد النسخة كما في التالي /* Note: I am not sure about this */ %windir%\Microsoft.NET\Framework\v4xxxxx\CONFIG\Web.config %windir%\Microsoft.NET\Framework\v4xxxxx\CONFIG\Web.config.default أما في الحالة التالية، أعتقد أن ملف الـ Web.config الخاص بالمشروع يوجد بها بعض الأخطاء، كل ما عليك فعله هو إنشاء مشروع web جديد ثم الضغط على زر F5 سيقوم الـ Visual Studion بالسؤال ما إذا كنت ترغب بإنشاء ملف Web.config، قم بالموافقة وبعد ذلك أنقل محتوى الـ web.config الموجود في المشورع الجديد إلى القديم ولكن قم بمراعاة ما إذا كانت هناك إعدادات خاصة في المشروع القديم والتي يتم تحديدها في ملف الـ web.config فيجب عليك كتابتها قبل نسخ وإستبدال كل شيء. أتمنى لك التوفيق
  5. سوال بخصوص JQuary

    عزيزي الأخ Ibrahim.aspx السلام عليكم ورحمة الله وبركاته يمكنك حل هذه المشكلة عن طريق معرفة المتغير أو الكود الموجود في الدالة والذي يقوم بتحميل ملف الـ JQuery. ومن ثم تغييره إلى مكان الملف الحالي. أو يمكنك إزالته ولكن ينبغي عليك التأكد من أن الملف يتم تحميله في صفحة الـ Master Page أن الأداة تكون دائما موجودة في صفحة تستخدم الـ Master Page الذي فيه يتم تحميل ملف الـ JQuery. هذا مثال بسيط. /* * In the master page design code */ <script type="text/javascript"> function masterPageFunction(){ alert("I was defined in the master page!"); } </script> /* * In any other page that will use the above master page (design code) */ <!-- Note: the function masterPageFunction is already been defined in the master page --> <input type="button" value="Click Me!" onclick="masterPageFunction();" /> /* So, if you have an external javascript file and it has been called in the master page, all the child pages will be able to use whatever is defined in that external javascript file. All you need to do is to find where exactly you tool is calling javascript and remove that call */ في حالة عدم وضوح الفكرة، أرجوا منكم كتابة اسم ورابط الأداة التي تقوم بإستخدامها. أتمنى لك التوفيق
  6. مشكلة عند رفع الموقع على السيرفر

    الأخ ميدو السلام عليكم ورحمة الله وبركاته بالنسبة للملف الي انت أرفقتهـ، إذا كان في خطأ فأعتقد راح يكون في السطر رقم 99 <%--<li class="separator"> </li>--%> // Please note that the <% %> represent a server-side block of code // try to type in the code-behind --<li class="xyz"> </li> -- // and then compile إذا الخطأ لا يزال موجود أتمنى منك إرفاق ملف السي شارب Default.aspx.cs أتمنى لك التوفيق والنجاح
  7. مشكله في التوصيل من الديتا بيس

    أخي العزيز باسم السلام عليكم ورحمة الله وبركاته بعد أن تقوم بالخطوات الموجودة في ردي الأول، قم بتفعيل خاصية الدخول (connect) عن طريق SQL Authentication عن طريق تشغيل SQL Server Management Sudio ومن ثم الضغط بالزر اليمين على اسم السيرفير وبعد ذلك إختيار خصائيص كما هو موضح في الصورة أدناه ثم بعد ذلك قم بإختيار Security من مربع الحوار الذي سيظهر أمامك وبعد ذلك في اليمين تحت Server Authentication قم بتحديد SQL Server and Windows Authentication mode كما هو موضح في الصورة أدناة أتمنى للجميع التوفيق والنجاح وأعذرني على تأخري في الرد
  8. please check my code

    أختي العزيزة / Eng.Ranya على فرض إنه table1.id هو Foreign Key للـ table2.id، وأن table2.id هو الـ id الخاص بالـ Users، وعلى فرض إنه أنا أساسا فهمت الفكرة بشكل صحيح، إن شاء الله الكود التالي يخدم هدفك using (SqlConnection con = new SqlConnection("Your Connection String")) { SqlCommand cmd = new SqlCommand( "SELECT id, MAX(enddate) FROM table1 GROUP BY id", con ); DateTime today = DateTime.NOW; con.Open(); // Execute Scalar will return the first column from the first row of the resulting data set, no need for scalars a loop is required SqlCommand updateCommand = new SqlCommand( "UPDATE table2 SET [type] = 'Suspended' WHERE [email protected]", con); SqlParameter idParam = updateCommand.Parameters.Add(); idParam.ParameterName = "id"; using(SqlDataReader reader = cmd.ExecuteReader()){ while(reder.Read()){ if(today > DateTime.Parse(reader["enddate"].ToString())) { idParam.Value = reader["id"]; updateCommand.ExecuteNonQuery(); } } } } أتمنى للجميع التوفيق والنجاح
  9. مشكله في التوصيل من الديتا بيس

    أخي العزيز / سالم بافضل السلام عليكم ورحمة الله وبركاته قم بتشغيل MS Sql Server Management ثم تأكد أن الـ Authentication هو Windows Authentication بعد ذلك قم بالضغط على زر Connect ثم من الـ Object Explorer قم بالضغط على Security ثم Logins سوف ترا اسم المستخدم sa اضغط عليه بالزر اليمين ثم properties كما هو موضح في الصورة أدناه بعد ذلك تأكد من أن كلمة المرور هي 123 (قم بإعادة كتابتها إذا لم تكن متأكد) ثم تحت Select Page في اليسار قم بالضغط على Status سوف تتغير الصفحة على يمينك ثم تأكد تحت Login أن الخيار Enabled هو المحدد، كما في الصورة أدناه بعد ذلك قم بإغلاق MS SQL Server Management ثم أعد تشغيله ولكن هذه المرة غير الـ Authentication إلى SQL Server Authentication قم بإدخال اسم المستخدم sa وكلمة المرور كما أدخلتها في الصورة السابقة، لو تم الدخول بدون مشاكل ينبغي على الـ web application أن يرى قاعدة البيانات الآن، في حالة الفشل الرجاء كتابة رسالة الخطأ التي سوف تظهر لك. ملاحظة لو قمت بتغيير كلمة المرور من خلال MS SQL Server Management لا تنسى تغييرها أيضا في ملف الـ web.config الموجود في الـ Web Application الخاص بك أتمنى للجميع التوفيق والنجاح
  10. An object reference is required for the non-static field...

    أختي العزيزة / Eng_Ranya بالنسبة للخطأ الأول: يوجد عندك Member للـ Class الذي يحمل الإسم Jobs تحت إسم con، هذا الـ Member أعتقد بل أكاد أجزم إنه ليس static وأيضا يستخدم وسط static context. زي مثلا public class MyClass { protected int myNonStaticMember; public static void MyStaticMethod() { // This is a static context, you are not allowed to use non-static members here specially the 'this' keyword // you may define local variables, delegates, FUNC ... etc but no non-static members } } بالنسبة للخطأ الثاني : أرجعي للتوضيح الأول :wink: أتمنى التوفيق للجميع
  11. please check my code

    أختي العزيزة / Eng_Ranya إذا ضبط الكود ولم يكن هناك أي Runtime Error، يبقى إحتمال أن الشرط في جملة الـ SQL الخاصة بالتعديل لا يتحقق. الرجاء قومي يتعديل جملة الـ SQL بما يتناسب مع الشكل التالي SqlCommand updateCommand = new SqlCommand("UPDATE ..... WHERE enddate = @enddate", your_sqlConnectionObject); // The following is a C# 3.0 new intializer feature updateCommand.Parameters.Add( new SqlParameter() { ParameterName = "enddate", SqlDbType = SqlDbType.DateTime, // Important as DateTime is a little bit tricky, 'AddWithValue' will result in an error Value = your_where_clause_datetime_value } ); updateCommand.ExecuteNonQuery(); رجاء أختي العزيزة لا تقومي ببناء جمل SQL عن طريق دمجها بمتغيرات كما هو موجود حاليا، صدقيني بهذه الطريقة أنك تفتحين مجال للتعدي على بياناتك string commandText = "UPDATE ..... WHERE X = " + x + " AND Y = " + y ........ // This is not a recomended approach, it is prone to SQL Injection الـ SQL Injection هو عبارة عن حقن جملة الـ SQL بحيث تكون دائما صائبة بالتالي يتم الحصول على البيانات أو حذفها أو تعديلها، خذي المثال التالي string commandText= "DELETE FROM ImportantDataTable WHERE Password = '" + password + "'"; // Imagine a malicious person typed something like this as password // Malicious Person typed : I will hack your system' OR '1'='1 // The final outcome would be // DELETE FROM ImportantDataTable WHERE Password = 'I will hack your system' OR '1'='1'" // Which is always true // Programming is an ugly world! أتمنى للجميع التوفيق والنجاح
  12. please check my code

    الأخت / Eng. Ranya السلام عليكم ورحمة الله وبركاته إذا كان هناك خطأ في الـ Runtime فأنا أعتقد إنه في الجزء المتعلق بالـ SQL Parameter في السطر التالي SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mycon"].ToString()); string sql = "select DISTINCT id,MAX(enddate) as enddate from table1 group by id"; SqlCommand cmd = new SqlCommand(sql, con); string d1 = DateTime.Now.ToString("dd/m/yyyy"); // 'm' inside the format string would result to excperiotn as it would be representing 'minutes'. Minutes could be greater than 12 or 31. Use 'M' instead of 'm' if you want to get the months أتمنى لكي التوفيق والنجاح
  13. اختيار قيمة كومبوبوكس

    أخي العزيز / tatatab السلام عليكم ورحمة الله وبركاته ممكن توضح أكثر كيف لم ينجح معك الكود ؟ حيث أن الكود أعلاه لا يقوم بتعبئة الـ ComboBox أو بالأحرى DropDownList وإنما فقط يقوم بإختيار أول عنصر إن وجد. أتمنى لك التوفيق
  14. أخي العزيز / زخارياس السلام عليكم ورحمة الله وبركاته يمكنك فعل ذلك عن طريق إستخدام الحدث SelectedIndexChanged للـ DropDownList الخاصة بالدول، كما في المثال التالي protected void countryList_SelectedIndexChanged(object source, EventArgs e){ string selectedValue = countryList.SelectedValue; // do something with selectedValue } يظهر إنه أنا والأخت Ranya جاوبنا في نفس الوقت ولو كان في إختلاف في الميكرو ثانية :happy: ولكن نقدر نصنف جوابي تحت تصنيف الإجابة المختصرة وإجابة Ranya تحت تصنيف الإجابة الكافية. على الأقل هذه مجرد وجهة نظر أتمنى للجميع التوفيق والنجاح
  15. اختيار قيمة كومبوبوكس

    الأخ العزيز / tatatab السلام عليكم ورحمة الله وبركاته يمكنك إستخدام الكود التالي protected void Page_Load(object sender, EventArgs e){ if(!IsPostBack) { myComboBox.SelectedIndex = 0; // -1 select nothing } } أتمنى لك التوفيق والنجاح