الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف انشىء dataset معرفة بالنسبة لكل forms

مغلق
بدأه Gory في 9 يونيو 2007 · 6 رد · 642 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سؤال لوسمحتم كيف اعرف dataset واحده فى اول form بحيث اقدر استخدمها فى باقى ال forms

ياريت بالتفصيل لوسمحتم

#2

ممكن تبعتها كباراميتر للconstructor بتاع كل فورم

يعني مثلا تعمل فئه إسمها Test ودي اللي فيها ال Main ،

و لنفرض إنك عندك 5 forms ، هتخلي ال 5 فورم دول يكون ال construtor بالشكل ده :

private DataSet ds;
public Formx ( DataSet ds ) {
this.ds = ds;
}

شيل ال Formx و حط اسم الفورمه ، و بعدين في ال Test اعمل كده :

Test {
..
..
static void Main (){
DataSet theOnlyDataSetInTheApplication = new DataSet();
// set any property for the dataset here 
///.........


Form1 f1  = new Form1 ( theOnlyDataSetInTheApplication  );
Form2 f2 = new Form2 ( theOnlyDataSetInTheApplication  );

//and so on ...

}

..
..
 }
#3

مثال :

هذه هي فورمه من الفورم الخمسه ، و الباقي طبعا مثلها مع إختلاف العمليات التي تقوم بها :

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;

public class Form1 : From {

	private DataSet ds;
	private SqlDataAdapter da;
	private Connection conn;

	public Form1 ( DataSet ds ){
		this.ds = ds;
	}

	public void doDataOperations () {
		try{
			String connectionStr = "";  // write the Connection string here, or copy and paste it from any book
			conn = new Connection (connectionStr );

			da = new SqlDataAdapter ( "SELECT userName FROM login " , conn );
			da.fill (ds , "login" );


			foreach ( DataRow dr in ds.Tables["login"].Rows ){
				Console.WriteLine ("username is " + dr["userName"] );
			}
		}catch (SqlException e){
			Console.WriteLine ("error occured " );
		}
	}
}

وده كود البرنامج الرئيسي ، Test.cs

using System;
using System.Data;

public class Test {

	public static void Main (String[] args){

		DataSet globalDataSet = new DataSet ();

		// initialize first form :
		Form1 f1 = new Form1 ( globalDataSet );

		// init form 2 :
		Form f2 = new Form2 ( globalDataSet );

		// and so on, all froms share the same dataset...
		//
		//
	}
}

ملحوظه، بما أني مبتدأفى ال C# فقطعا الرنامج اللي فوق لن يعمل بشكل جيد ، حيث أنني ليس عندي ال VS.net ,لا حتي مترجم ال c sharp، فقط قمت بكتابته من علي برنامج ال VIM

#4

شكرا لردك ولكن جربت الكود ولم يعمل لازلت لا استطيع تمرير الdatasetمن الform الرئيسية لبقية ال forms

انتظر المساعده

#5

أخي هل أنت مبرمج c sharp أم أنك هاوي ( زي حالاتي يعني ‘ أصلي برضه مغصوب ع الدوت نت اليومين دول عشان مشروع التخرج )

لا تزعل من الاسلوب و لكن أنا شرحت لك فكره عامه + كود و لم تفهم ، ( قد يكون العيب في اسلوب شرحي :D )

أنصحك أخي نصيحه في الله ، بالله عليك أن تتقبلها و تحاول تنفذها لأنها في مصلحتك : "إن لم تكن تعرف البرمجه الشيئيه ،إتعلم البرمجه الشيئه أولا ثم سي شارب ثم تطرق إلي ال أدو بعد ذلك "

إنت عارف الفورم دي عباره عن إيه ؟ هل تعرف أنها class يرث ال System.Windows.Forms ؟؟؟

#6

في كتاب جامد جدا إسمه inside c sharp أنصحك به ، إن لم تجده إرسل لي رساله على بريدي mohammed_a_hewedy@hotmail.com

أو إتصل بيا علي 016 107 2006 ( مصر ) و أنا أبعتهولك :D

#7

ممكن تنشىء Module و تعرف فيه متغيرات ب Public عوض Dim .. أو بكل بساطة عند حاجتك إلى DataSet الموجودة ب Form1 قم باستدعاءها : Form1.DataSet

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

هذا الموضوع مغلق.

مواضيع مشابهة