վ�����ߣ����ò�һ��!
��¼��ѯ  �ؼ�������  Alexa����  PR���  ������  IP����  WHOIS��ѯ    �����ѯ  
  �ղ�  �����ѯ ��һ��
��Ϣ���� ��ҳ » ��Ѷ��Ϣ

��վ�Ƽ�

IT����

  ҵ�����

  ��������

��վ�ƹ�

  վ����ҵ

  ��Ӫ�ƹ�

��Ʊ��

  �������

  �������

DataTable��XML�ļ�����
��Ϣ��Դ����һ�� ����ʱ�䣺2012/1/12

 

��ΪDataTable�����˼ܹ�֮��Ҳ�������ú�����Ҫ�������Ժ󣬾Ϳ��Կ�ͨ����DataRow������ӵ����Rows������������������ӵ����С������DataColumn���ƣ�ͬ������ͨ��ʹ��DataRow���캯��������ͨ�����ñ��Rows���Ե�Add���������ڱ��ڴ���DataRow����

DataColumn���󼯺ϱ�ʾ�˱��ģʽ(Schema)��DataTableͨ���ڲ���DataColumnCollection���ͱ�����������С��෴��DataRow���ͼ��Ͼͱ�ʾ���е�ʵ�����ݡ����������Customers������10����¼���Ϳ���ʹ��10��DataRow��������ʾ���ǡ�ʹ��DataRow��ij�Ա���ԶԱ��е�ֵ���в��롢ɾ������ֵ�Ͳ���������

����һ��DataRow�����еĶ���ʵ�ִ���������ʾ��

//����һ��Customers���ݱ�

DataTable CustomersTable = new DataTable("Customers ");

//����һ���µ�������

DataRow arow = CustomersTable.NewRow();

//�����е�ֵ

arow[ColumnName] = Data;

//����������Ӵ�����Customers���ݱ���

CustomersTable.Rows.Add(arow);

����˵����

�½�һ��arow, ��������ijһ��������ֵΪData��������һ����ӵ�Customers���С�ʹ��DataRow��ʹ��DataColumn��Щ��ͬ����Ϊ������ֱ�Ӵ���������͵�ʵ�������ǻ��һ�����Ը���DataTable�����á����磬��������Customers�����������,DataTable.NewRow()�������Ի����һ��λ��Ȼ�����������ÿ�е����ݡ�

ʵ�ִ���������ʾ��

//����һ�����ݱ�

DataTable CustomersTable = new DataTable("Customers");

//�������ݱ���к��б���

DataColumn column;

DataRow row;

//����һ�����У������е��������Ժ��������������������ӵ�Customers����

column=new DataColumn();

column.DataType = System.Type.GetType("System.Int32");

column.ColumnName = " CustID ";

CustomersTable.Columns.Add(column);

//�ٴ���һ������

column = new DataColumn();

column.DataType = Type.GetType("System.String");

column.ColumnName = " CustLName ";

CustomersTable.Columns.Add(column);

//�����µ�һ�в����������ӵ�Customers����

for(int i = 0; i < 10; i++)

{

row = CustomersTable.NewRow();

row["CustID "] = i;

row["CustLName "] = "item " + i.ToString();

CustomersTable.Rows.Add(row);

}

����˵����

��CustomersTable����������зֱ���CustID, CustLName��Ȼ����ѭ���ķ�ʽ����10�в���ֵ����ӵ�CustomersTable���С�

8.4.7 ����DataTable��������

��ǰ��һ�����潲�ˣ���ô�����һ��DataRow�У���ô������Ҫ�˽�Ĺ���DataTable����һ�����������������ֵ�������е�DataRow�С����濪ʼ���ܹ���DataTable�����е����⡣

�ʹ�õ�һ��������������Select()������÷��ϸ��������������С�һ�������ЩDataRow���Ͷ���������Ӧ���޸ġ����磬�ٶ���һ���°�ť�ڱ�����������DataTable������EmployeeID��ֵΪ5���С�һ����ʶ��Щ��󣬾Ϳ��԰�EmployeeID�ж�Ӧֵ5��Ϊ6��ʵ���������£�

//���ݿ������ַ���

string connectionString =

"Data Source=local;Initial Catalog=Northwind;Integrated Security=True;UserID=sa;Password=";

//sql����Orders���е�������Ϣ��ȡ����

string commandString = "Select * from Orders";

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandString, connectionString);

DataSet dataSet = new DataSet(  );

//������ݼ�

dataAdapter.Fill(dataSet," Orders");

//������ݱ�

DataTable dataTable = dataSet.Tables("Orders");

// ����һ�����ڹ��˳�EmployeeID��ֵΪ5���е��еı���

string filterStr = "EmployeeID=5";

string strEmployeeID = null;

// ��ѯ��������EmployeeID��ֵΪ5����.

DataRow[] EmployeeID= dataTable.Select(filterStr);

// EmployeeID�ж�Ӧֵ5��Ϊ6

for(int i = 0; i < EmployeeID.Length; i++)

{

DataRow temp = EmployeeID [i];

strEmployeeID += temp["EmployeeID "] = 6;

EmployeeID [i] = temp;

}

8.4.8 �ñ�̷�ʽɾ��DataTable��

���ڴ�DataTable������ɾ��DataRow����ķ��������֣�DataRowCollection����� Remove������DataRow�����Delete������

Remove������Delete���������Խ�DataTable����DataRowɾ��������ǰ���Ǵ�DataRowCollection��ɾ��DataRow��������ֻ���б��Ϊɾ������Ӧ�ó������AcceptChanges����ʱ���Żᷢ��ʵ�ʵ�ɾ����ͨ��ʹ��Delete��������ʵ��ɾ��֮ǰ���Ա�̷�ʽ�����Щ�б��Ϊɾ����������б��Ϊɾ������RowState���Ի�����ΪDeleted��

�ڽ�DataSet��DataTable��DataAdapter�͹�ϵ������Դһ��ʹ��ʱ����DataRow�� Delete�����Ƴ��С�Delete����ֻ����DataSet��DataTable�н��б��ΪDeleted���������Ƴ�������DataAdapter���������ΪDeleted����ʱ����ִ����DeleteCommand������������Դ��ɾ�����С�Ȼ�󣬾Ϳ�����AcceptChanges���������Ƴ����С����ʹ��Removeɾ�����У�����н��ӱ�����ȫ�Ƴ�����DataAdapter����������Դ��ɾ�����С�

DataRowCollection��Remove��������DataRow��Ϊ������������Ӽ������Ƴ���ʵ�ִ���������ʾ��

DataTable CustomersTable = new DataTable("Customers ");

DataRow workRow = empTable.NewRow();

CustomersTable.Rows.Remove(workRow);

��Ϊ�Աȣ�����ʾ����ʾ����ε���DataRow�ϵ�Delete����������RowState��ΪDeleted��ʵ�ִ���������ʾ��

DataTable CustomersTable = new DataTable("Customers ");

DataRow workRow = empTable.NewRow();

workRow.Delete();

������б��Ϊɾ�������ҵ���DataTable�����AcceptChanges���������оͻ��DataTable���Ƴ������֮�£��������RejectChanges���е�RowState�ͻ�ָ��������ΪDeleted֮ǰ��״̬��

8.4.9 ��DataTable�������

ADO.NET�е�DataSet�����ݵ��ڴ�פ���ʾ��ʽ�����ṩ�˶���������Դ��һ�¹�ϵ���ģ�͡�DataSet��ʾ�������ݼ������а������Լ���ͱ�֮��Ĺ�ϵ������DataSet����������Դ��DataSet���԰���Ӧ�ó��򱾵ص����ݣ�Ҳ���԰������Զ������Դ�����ݡ�����������Դ�Ľ���ͨ��DataAdapter�����ơ�

DataAdapter��SelectCommand������һ��Command�������ڴ�����Դ�м������ݡ�DataAdapter��InsertCommand��UpdateCommand��DeleteCommand����Ҳ��Command�������ڰ��ն�DataSet�����ݵ��޸������������Դ�����ݵĸ��¡�

DataAdapter��Fill��������ʹ��DataAdapter��SelectCommand�Ľ�������DataSet��Fill��Ҫ����DataSet��DataTable���󣨻�Ҫʹ�ô�SelectCommand�з��ص���������DataTable�����ƣ���Ϊ���IJ�����

Fill����ʹ��DataReader��������ʽ�ط���������DataSet�д�����������ƺ������Լ��������DataSet�еı��е����ݡ�����н��ڲ�����ʱ�Ŵ���������Fill��ʹ�����е�DataSet�ܹ���

���´���ʾ��ʹ��SqlDataAdapter�����ȡMicrosoftSQL Server Northwind���ݿ��������䵽Customers���ݼ��е�Customers���

ʵ�ִ���������ʾ��

//ʹ��DataAdapter��Fill������Customers�����������

string connectionString =

"Data Source= local;Initial Catalog=Northwind;Integrated Security=True; UserID=sa;Password=";

string commandString = "Select * from Customers";

SqlDataAdapter dataAdapter = new SqlDataAdapter(commandString, connectionString);

DataSet customers = new DataSet();

dataAdapter.Fill(customers, "Customers");

8.4.10 ��DataTableʵ������sql���IJ�ѯ����

���������ݿ��DataSetʵ������sql���IJ�ѯ��

Ҳ���ǣ�select ... from tablename where ...�������Ĺ��ܡ�

����DataSet�в�ѯ�������������е���ʽ���浽arow�С�

ʵ�ִ���������ʾ��

DataSet ds= new DataSet();

DataRow[] arow = ds.Tables[TableName].Select("" + ColumnsName+ "='" + DataValue + "'");

����˵����

qTableName�����ݼ�ds�еı�����

qColumnsName��TableName���е�ijһ������

qData����������Ӧ������ֵ��

����˵����

������书���൱��sql����еIJ�ѯ���

Select * From TableName where ColumnsName= Data

8.4.11 DataTable�����ݼ�¼��ͳ��

��ʹ�����ݿ�ʱ����SQL-Server��Oracle��Щ���ݿ⣬�������ɵ�ͨ��ͳ�ƺͼ��㺯������Sum��Aver��Count��ͳ�ƻ�������ؽ������ô�����Ѿ������ݼ���������DataTable���ݼ����ܷ�ͬ��ʹ���أ��ڳ����и�����Ҫ��̬������DataTable��û�а취ʹ��sql�����в�ѯͳ�Ƶģ�����û�а취ʹ��Select�������ȡ��ѯͳ�ƽ������ô��DataTable����ô������ͳ���أ�

���ڽ�����һ���򵥵ķ������������ɵĻ��DataTable�еļ�¼ͳ�ƽ��������򵥵ķ������ǵ��ù���ǿ���DataTable�ĺ���Compute��

�������£�

public object Compute(string expression,string filter)

����˵����

qexpression ������Ҫ�ۺϺ�����Ҫ����ı��ʽ�ַ�����������������Sql Server�е�ͳ�Ʊ��ʽ�����磬�����ǺϷ����ʽ��Count(ID)��

qfilter��ͳ�ƵĹ����ַ�����ֻ������������������ļ�¼�Żᱻͳ�ƣ�Ҳ����ȷ���ڱ��ʽ��ʹ����Щ�С�

����ʾ������SQL-Server���ݿ��е�Northwind���ݿ��е�Orders���ݱ������������Ϣ�������ֶ�Ϊ��������(OrderID�����ͻ���ţ�CustomerID����ְ����ţ�EmployeeID��������ʱ�䣨OrderDate�������ţ�ShipVia�����˷ѣ�Freight����

1.ͳ������ְ�����EmployeeIDΪ5��������

table.Compute("Count(*)","EmployeeID=5");

2.ͳ�������˷�Freight���˷Ѵ���100�ĸ���

table.Compute("Count(*)","Freight>100'");

3.ͳ���˷�Freight��ƽ��ֵ

table.Compute("Aver(Freight)","true");

4.ͳ��ְ�����EmployeeIDΪ5���˷��ܶ

table.Compute("Sum(Freight)"," EmployeeID=5");

���϶��Ǽ���ÿһ�еĺϼƣ���ôҪ���һ����ϼƿ���ʹ������ķ�����

//����һ�����ݼ�

DataSet customers = new DataSet();

//�����ݼ������һ������ΪCustomersTable�����ݱ�

DataTable customersTable = customers.Tables.Add("CustomersTable");

//����һ�����в���ӵ�CustomersTable���ݱ���

DataRow dataRow �� new DataRow();

dataRow= customersTable.NewRow();

//Ȼ�����ͳ���ˣ���������int ����i:ѭ������, colCnt: customersTable���е�����

int i ;

int colCnt ;

colCnt = customersTable.Cols.Count;

for( i=0 ;i< colCnt -1;i++)

//���i�еĺͲ��ҽ����ֵ���µ�dataRow������

dataRow(i)= customersTable.Compute("Sum("+i.ToString()+")","true");

//����������ӵ�customersTable���ݱ���

customersTable.Rows.Add(dataRow);

8.4.12 DataTable��xml��һЩӦ���ܽ�

��ASP.NET2.0��ADO.NET��XML��ϵĺܽ��ܣ���7�����Ѿ���ϸ��������ADO.NET�е�����ͨ��DataSet�����״�ȡ��XML�еģ���ô��DataTable������DataSet����������XML�����ļ��𣿴��ǿ��Եģ��������һ����DataTable�е�����д�뵽XML�ļ���ȥ�IJ�����ʵ������������ʾ��

//����һ��Customers���ݱ�

DataTable dt = new DataTable("Customers");

//�������CustID��CustLName�������ͷֱ�ΪInt32��String������ӵ����ݱ���

DataColumn dc1 = new DataColumn("CustID", Type.GetType("System.Int32"));

DataColumn dc2 = new DataColumn("CustLName", Type.GetType("System.String"));

dt.Columns.Add(dc1);

dt.Columns.Add(dc2);

//����ѭ�����������в���ֵ����ӵ����ݱ���

for (int i = 0; i < al.Count; i++)

{

DataRow dr = dt.NewRow();

DS_Option dso = (DS_Option)al[i];

dr["CustID"] = dso.ID;

dr["CustLName"] = dso.Name;

dt.Rows.Add(dr);

}

//�����ݱ��е�����д�뵽XML�ļ���

string xmlstr;

System.IO.StringWriter writer = new System.IO.StringWriter();

dt.WriteXml(writer);

xmlstr = writer.ToString();

return xmlstr;

������XML�ļ�д���ݵIJ�������ȻҲ���Դ�XML�ļ��ж�ȡ������Ϣ��DataTable���ݱ��У�������Ҳ���ƣ���Ҫ�Ƚ����ô�DataTable�Ľṹ����Ȼ������

ʵ������������ʾ��

string tbxml = xmlinfo;

DataTable dt = new DataTable("Customers ");

DataColumn dc1 = new DataColumn("CustID", Type.GetType("System.Int32"));

DataColumn dc2 = new DataColumn("CustLName", Type.GetType("System.String"));

dt.Columns.Add(dc1);

dt.Columns.Add(dc2);

System.IO.StringReader reader = new System.IO.StringReader(tbxml);

dt.ReadXml(reader);

ת����ע��������վ������ ��Ϣ��Դ��http://ericdoerr.com/Content/267
���ѵ�����