Cum de a crea un DataTable in C#?
Am făcut așa:
DataTable dt = new DataTable();
dt.clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
Cum pot vedea structura de DataTable?
Acum aș vrea să adaug ravi pentru "Nume" și 500 pentru "Mărcile". Cum pot face asta?
Aici's codul:
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);
Pentru a vedea structura, sau mai degrabă am'd reformulez ca schemă, puteți exporta într-un fișier XML de a face următoarele.
Pentru a exporta numai schema/structura, face:
dt.WriteXMLSchema("dtSchemaOrStructure.xml");
În plus, puteți exporta, de asemenea, datele dvs.:
dt.WriteXML("dtDataxml");
Puteți trece, de asemenea, într-un obiect de serie, precum și, cum ar fi așa:
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
object[] o = { "Ravi", 500 };
dt.Rows.Add(o);
Sau chiar:
dt.Rows.Add(new object[] { "Ravi", 500 });
// 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();
Crearea DataTable:
DataTable MyTable = new DataTable(); // 1
DataTable MyTableByName = new DataTable("MyTableName"); // 2
Adăugați o coloană la tabel:
MyTable.Columns.Add("Id", typeof(int));
MyTable.Columns.Add("Name", typeof(string));
Adăugați rând pentru a DataTable metoda 1:
DataRow row = MyTable.NewRow();
row["Id"] = 1;
row["Name"] = "John";
MyTable.Rows.Add(row);
Adăugați rând pentru a DataTable metoda 2:
MyTable.Rows.Add(2, "Ivan");
Adăugați rând pentru a DataTable metoda 3 (Adauga rând dintr-un alt tabel cu aceeași structură):
MyTable.ImportRow(MyTableByName.Rows[0]);
Adăugați rând pentru a DataTable metoda 4 (Adauga rând dintr-un alt tabel):
MyTable.Rows.Add(MyTable2.Rows[0]["Id"], MyTable2.Rows[0]["Name"]);
Adăugați rând pentru a DataTable metoda 5 (Inserare rând, la un indice):
MyTable.Rows.InsertAt(row, 8);
Puteți scrie o linie utilizarea [DataRow.Adaugă(params obiect[] valori)][1] în loc de patru linii.
dt.Rows.Add("Ravi", "500");
Ca să creați noi DataTable
obiect, se pare că nu trebuie să Clar
DataTable în următoarea declarație. Puteți folosi, de asemenea,
DataTable.Coloane.AddRange` pentru a adăuga coloane cu privire la declarație. Codul complet ar fi.
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("Name"), new DataColumn("Marks") });
dt.Rows.Add("Ravi", "500");
[1]: https://msdn.microsoft.com/en-us/library/07wwak56(v=vs. 110).aspx
Puteți adăuga Rând într-o singură linie
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);
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();
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();
Trebuie să adăugați datarows la datatable pentru acest lucru.
// 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 );
În plus față de alte răspunsuri.
Dacă aveți de a controla structura de DataTable există o scurtătură pentru a adăuga rânduri:
// Presupunem că aveți un tabel de date definit ca în exemplul tău nume dt dt.Rânduri.Adauga("Nume", "Marks");
La DataRowCollection.Add() metoda are o suprasarcină care are un param serie de obiecte. Această metodă vă permite să treacă cât mai multe valori după cum este necesar, dar acestea trebuie să fie în aceeași ordine ca și coloanele sunt definite în tabel.
Deci, în timp ce aceasta este o modalitate convenabilă de a adăuga rând de date, poate fi riscant să o utilizați. Dacă tabelul de modificări de structură codul dvs. va eșua.
Întrebarea 1: Cum de a crea un DataTable in C#?
Răspuns 1:
DataTable dt = new DataTable(); // DataTable created
// Add columns in your DataTable
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
Notă: nu este nevoie de a Clear()a
DataTable după crearea acestuia.
Întrebarea 2: Cum de a adăuga row(s)?
Răspuns 2: Adăugați un rând:
dt.Rows.Add("Ravi","500");
Adăugați mai multe rânduri: utilizarea "ForEach" bucla
DataTable dt2 = (DataTable)Session["CartData"]; // This DataTable contains multiple records
foreach (DataRow dr in dt2.Rows)
{
dt.Rows.Add(dr["Name"], dr["Marks"]);
}