কীভাবে সি # তে ডেটা টেবিল তৈরি করবেন এবং কীভাবে সারি যুক্ত করবেন?


196

কীভাবে সি # তে ডেটা টেবিল তৈরি করবেন?

আমি এটি পছন্দ করেছি:

 DataTable dt = new DataTable();
 dt.clear();
 dt.Columns.Add("Name");
 dt.Columns.Add("Marks");

আমি কীভাবে ডেটা টেবিলের কাঠামো দেখতে পাচ্ছি?

এখন আমি যোগ করতে চান রবি জন্য Nameএবং 500 জন্য Marks। কিভাবে আমি এটি করতে পারব?


2
@Cute। কেবলমাত্র একটি মন্তব্য- আপনি .NET 3.5 ব্যবহার করছেন যদি আপনার এসকিউএল থেকে লিনক কী প্রস্তাব দেয় তা সত্যই আপনার উচিত। আপনি যদি দৃT়ভাবে টাইপ করা ডেটা টেবিলগুলি তৈরি করার জন্য ডেটা টেবিল / ডেটাসেটের রুটটি নীচে যাওয়ার সিদ্ধান্ত নেন।
রিচার্ডড

উত্তর:


256

কোডটি এখানে:

DataTable dt = new DataTable(); 
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
DataRow _ravi = dt.NewRow();
_ravi["Name"] = "ravi";
_ravi["Marks"] = "500";
dt.Rows.Add(_ravi);

কাঠামোটি দেখতে, বা আমি এটি স্কিমা হিসাবে পুনর্বিবেচনা করব, আপনি নিম্নলিখিতটি করে এটি একটি এক্সএমএল ফাইলে রফতানি করতে পারেন।

শুধুমাত্র স্কিমা / কাঠামো রফতানি করতে, করুন:

dt.WriteXMLSchema("dtSchemaOrStructure.xml");

অতিরিক্ত হিসাবে, আপনি আপনার ডেটাও রফতানি করতে পারেন:

dt.WriteXML("dtDataxml");

8
ডেটা টেবল ক্লাসে অ্যাডরো পদ্ধতি নেই। আপনাকে dt.Rows.Add (_ravi) করতে হবে; পরিবর্তে
সালামান্ডার

1
এবং অ্যাডরোর মতো কোনও জিনিস নেই। এটি
ডেটা টেবিল.আরউস.এড

আপনি কারেন্টরোজ ব্যতীত অন্য ফিল্টার সহ ডেটাভিউ ব্যবহার করার ক্ষেত্রে dt.AcepceptChanges () কল করতে ভুলবেন না।
সালামান্ডের

@ ড্যানডি, @ সালামান্ডার ২০০7: সম্মত হয়েছে। আমি এখন এটি পরিবর্তন করেছি। ভুলের জন্য চুপচাপ, এমনটিই ঘটল bcoz আমি টাইপ করা ডেটাसेट ব্যবহার করি যা এই জিনিসটিকে সমর্থন করে।
এই __Curious_geek

@ ফিনিক্স: আমি কেবল প্রশ্ন জিজ্ঞাসাকারীকে খুশি হয়ে আমার উত্তরটির সাথে সম্পর্কিত থাকতে চেয়েছি।
এই __curious_geek

65

আপনি যেমন কোনও বস্তুর অ্যারেতেও পাস করতে পারেন:

DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
object[] o = { "Ravi", 500 };
dt.Rows.Add(o);

অথবা এমনকি:

dt.Rows.Add(new object[] { "Ravi", 500 });

11
এর আরেকটি বিকল্প হ'ল Addউপরের দেখানো পদ্ধতিটি ভেরিয়েবল সংখ্যক প্যারামের সাথে একটি ওভারলোড রয়েছে তা নোট করা , যাতে আপনি এটি সংক্ষিপ্ত করতে পারেন dt.Rows.Add("Ravi", 500);এবং একইরকম কাজ করতে পারেন। এই পদ্ধতির যেকোন একটির সাথে একটি বড় সতর্কতা: কলামগুলি সংজ্ঞায়িত করার সাথে আপনাকে অবশ্যই এই পরামিতিগুলি সরবরাহ করতে হবে, অন্যথায় আপনি একটি ত্রুটি পাবেন। (তাই সাবধানতার সাথে ব্যবহার করুন!)
ফানকা

34
// Create a DataTable and add two Columns to it
DataTable dt=new DataTable();
dt.Columns.Add("Name",typeof(string));
dt.Columns.Add("Age",typeof(int));

// Create a DataRow, add Name and Age data, and add to the DataTable
DataRow dr=dt.NewRow();
dr["Name"]="Mohammad"; // or dr[0]="Mohammad";
dr["Age"]=24; // or dr[1]=24;
dt.Rows.Add(dr);

// Create another DataRow, add Name and Age data, and add to the DataTable
dr=dt.NewRow();
dr["Name"]="Shahnawaz"; // or dr[0]="Shahnawaz";
dr["Age"]=24; // or dr[1]=24;
dt.Rows.Add(dr);

// DataBind to your UI control, if necessary (a GridView, in this example)
GridView1.DataSource=dt;
GridView1.DataBind();

29

ডেটা টেবিল তৈরি করুন:

DataTable MyTable = new DataTable(); // 1
DataTable MyTableByName = new DataTable("MyTableName"); // 2

সারণিতে কলাম যুক্ত করুন:

 MyTable.Columns.Add("Id", typeof(int));
 MyTable.Columns.Add("Name", typeof(string));

DataTable পদ্ধতি 1 এ সারি যুক্ত করুন:

DataRow row = MyTable.NewRow();
row["Id"] = 1;
row["Name"] = "John";
MyTable.Rows.Add(row);

ডাটাবেল পদ্ধতি 2-এ সারি যুক্ত করুন:

MyTable.Rows.Add(2, "Ivan");

DataTable পদ্ধতি 3 এ সারি যুক্ত করুন (একই কাঠামোর দ্বারা অন্য টেবিল থেকে সারি যুক্ত করুন):

MyTable.ImportRow(MyTableByName.Rows[0]);

DataTable পদ্ধতি 4-এ সারি যুক্ত করুন (অন্য টেবিল থেকে সারি যুক্ত করুন):

MyTable.Rows.Add(MyTable2.Rows[0]["Id"], MyTable2.Rows[0]["Name"]);

ডাটাবেট পদ্ধতিতে সারি যুক্ত করুন 5 (একটি সূচীতে সারি সন্নিবেশ করুন):

MyTable.Rows.InsertAt(row, 8);

24

একটি সারি যোগ করতে:

DataRow row = dt.NewRow();
row["Name"] = "Ravi";
row["Marks"] = 500;
dt.Rows.Add(row);

কাঠামোটি দেখতে:

Table.Columns

18

আপনি লিখতে পারেন এক মাছ ধরার নৌকা ব্যবহার DataRow.Add (প্যারাম বস্তুর [] মান) পরিবর্তে চার লাইন।

dt.Rows.Add("Ravi", "500");

আপনি নতুন তৈরি করেন DataTableবস্তু, মনে হচ্ছে কোন প্রয়োজন Clear DataTableঠিক পরের বিবৃতিতে। আপনি DataTable.Columns.AddRangeবিবৃতি সহ কলামগুলি যুক্ত করতেও ব্যবহার করতে পারেন। সম্পূর্ণ কোড হবে।

DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("Name"), new DataColumn("Marks") });     
dt.Rows.Add("Ravi", "500");

14

আপনি একক লাইনে সারি যুক্ত করতে পারেন

    DataTable table = new DataTable();
    table.Columns.Add("Dosage", typeof(int));
    table.Columns.Add("Drug", typeof(string));
    table.Columns.Add("Patient", typeof(string));
    table.Columns.Add("Date", typeof(DateTime));

    // Here we add five DataRows.
    table.Rows.Add(25, "Indocin", "David", DateTime.Now);
    table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
    table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
    table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
    table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);

11
DataTable dt=new DataTable();
Datacolumn Name = new DataColumn("Name");
Name.DataType= typeoff(string);
Name.AllowDBNull=false; //set as null or not the default is true i.e null
Name.MaxLength=20; //sets the length the default is -1 which is max(no limit)
dt.Columns.Add(Name);
Datacolumn Age = new DataColumn("Age", typeoff(int));`

dt.Columns.Add(Age);

DataRow dr=dt.NewRow();

dr["Name"]="Mohammad Adem"; // or dr[0]="Mohammad Adem";
dr["Age"]=33; // or dr[1]=33;
dt.add.rows(dr);
dr=dt.NewRow();

dr["Name"]="Zahara"; // or dr[0]="Zahara";
dr["Age"]=22; // or dr[1]=22;
dt.rows.add(dr);
Gv.DataSource=dt;
Gv.DataBind();

9
DataTable dt=new DataTable();
DataColumn Name = new DataColumn("Name",typeof(string)); 

dt.Columns.Add(Name);
DataColumn Age = new DataColumn("Age", typeof(int));`

dt.Columns.Add(Age);

DataRow dr=dt.NewRow();

dr["Name"]="Kavitha Reddy"; 
dr["Age"]=24; 
dt.add.Rows(dr);
dr=dt.NewRow();

dr["Name"]="Kiran Reddy";
dr["Age"]=23; 
dt.Rows.add(dr);
Gv.DataSource=dt;
Gv.DataBind();

8

এর জন্য আপনাকে আপনার ডেটাটেবেলে ডটারো যুক্ত করতে হবে।

// Creates a new DataRow with the same schema as the table.
DataRow dr = dt.NewRow();

// Fill the values
dr["Name"] = "Name";
dr["Marks"] = "Marks";

// Add the row to the rows collection
dt.Rows.Add ( dr );

8

সবচেয়ে সহজ উপায় হ'ল এখন পর্যন্ত একটি ডিটিএটেবল তৈরি করা

DataTable table = new DataTable
{
    Columns = {
        "Name", // typeof(string) is implied
        {"Marks", typeof(int)}
    },
    TableName = "MarksTable" //optional
};
table.Rows.Add("ravi", 500);

4

অন্যান্য উত্তর ছাড়াও।

আপনি যদি ডেটা টেবিলের কাঠামো নিয়ন্ত্রণ করেন তবে সারি যুক্ত করার জন্য একটি শর্টকাট রয়েছে:

// ধরুন আপনার একটি ডেটা টেবিল রয়েছে যার উদাহরণস্বরূপ dt dt.Rows.Add ("নাম", "চিহ্ন") হিসাবে আপনার উদাহরণ হিসাবে সংজ্ঞায়িত হয়েছে;

ডেটারোলকোলকশন.এড () পদ্ধতিতে একটি ওভারলোড রয়েছে যা অবজেক্টগুলির প্যারাম অ্যারে নেয়। এই পদ্ধতিটি আপনাকে প্রয়োজনীয় হিসাবে যতগুলি মান পাস করতে দেয় তবে সেগুলি অবশ্যই সারণিতে সংজ্ঞায়িত কলামগুলির মতো একই হওয়া উচিত।

সুতরাং এটি সারি ডেটা যুক্ত করার একটি সুবিধাজনক উপায়, এটি ব্যবহার করা ঝুঁকিপূর্ণ হতে পারে। যদি টেবিলের কাঠামো পরিবর্তন হয় তবে আপনার কোড ব্যর্থ হবে।


1

প্রশ্ন 1: সি # তে কিভাবে ডেটা টেবিল তৈরি করবেন?

উত্তর 1:

DataTable dt = new DataTable(); // DataTable created

// Add columns in your DataTable
dt.Columns.Add("Name");
dt.Columns.Add("Marks");

দ্রষ্টব্য: করার কোন প্রয়োজন নেইএটা তৈরি করেছে।Clear()DataTable

প্রশ্ন 2: সারি (গুলি) কীভাবে যুক্ত করবেন?

উত্তর 2: একটি সারি যুক্ত করুন:

dt.Rows.Add("Ravi","500");

একাধিক সারি যুক্ত করুন: ForEachলুপ ব্যবহার করুন

DataTable dt2 = (DataTable)Session["CartData"]; // This DataTable contains multiple records
foreach (DataRow dr in dt2.Rows)
{
    dt.Rows.Add(dr["Name"], dr["Marks"]);
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.