[转]如何在.NET项目中应用DataTable对象
2006-11-07 13:31
483 查看
DataTable对象允许.NET开发者处理单个的表格并保存系统资源。下面我们来学习更多在开发项目中应用DataTable对象的知识。
大多数的.NET开发者都熟悉经常使用的DataSet对象,而没有注意到DataTable对象。这真是让人遗憾,因为DataTable对象拥有许多功能,这些功能更适用于许多开发情形,尤其可提高对象的性能。在今天的栏目中,我们仔细研究一下如何在你的.NET项目中应用DataTable对象。
了解你的选择权
DataTable是一个.NET框架类,它代表一个单独的数据库列表。DataSet包含一个SQL查询的完整结果,因此它可能包括大量的表格。如果你应用一个DataSet对象,你可能要通过DataTable对象访问它的一个表格。另一方面,你可以避免应用DataSet对象,仅仅依靠DataTable对象来处理一个单独的表格和它的列。你可能通过它进行查询、分类或执行计算。
虽然你可以在同一种情况下应用DataSet与DataTable对象,在DataSet上应用DataTable的最大卖点之一在于提高性能。DataSet是与DataTable并列的一个相当大的对象。(值得注意的是,DataReader对象是资源友好的最终数据对象,但它并不总是适用。)
建立一个DataTable
开发者经常通过DataSet对象处理表格,你也可以访问包含在DataSet中的DataTable对象。在这些情况下,没有必要建立新的DataTable实例。实际上,在DataSet中处理数据时,你正在访问它的缺省DataTable对象。当一个DataSet从数据库中移出时,DataTable即通过正确的计划与数据建立。另一方面,你也可以通过数据库查询或应用自己的计划来创建DataTable对象。
一个DataTable对象包含数据库表格包含的一切内容:列、行等等。它有一个由DataColumn对象组成的Columns(列)属性。这些对象指定列的名称与类型。而且,Rows(行)属性包含一组DataRow对象。每一个DataRow对象都有一个与DataTable的列对应的值。
有两个建立DataTable对象的方法。首先,你可以用SQL服务器查询建立并移出一个DataTable对象。这是经常用来在DataSet中建立DataTable对象的方法。同样,你也可以通过指定对象的结构,并由代码增加数据来静态建立一个DataTable对象。这种方法常用于给一个应用程序建立原型,但根据的项目的不同,也适用于其它情况。
本文我们主要说明如何通过一个SQL服务器查询来建立并移出DataTable对象。移出DataTable对象是一件非常简单的事情。这一过程与应用DataSet对象,利用数据适配器对象来移出DataTable对象相似。可按照以下步骤,通过一个SQL服务器查询来创建并移出DataTable对象。
建立一个数据库连接。
用一个SQL服务器查询与连接创建命令对象。
建立一个数据适配器。
建立DataTable对象。
用数据适配器对象移出DataTable。
一旦建立了DataTable,它就包含了SQL服务器查询的结果。表A中的C#代码就是按照这些步骤来建立的DataTable对象。一旦DataTable对象被建立,就用一个DataRowCollection对象来处理由查询返回的数据行。(表B包含对应的VB.NET代码。)
表A
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
private SqlConnectionconn = null;
private SqlCommandcmd = null;
private SqlDataAdapterda = null;
private DataTabledt = null;
private DataRowCollectiondr = null;
private String connString;
private String strSQL;
private void Page_Load(object sender, System.EventArgs e) {
if (!IsPostBack) {
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind";
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees";
try {
conn = new SqlConnection(connString);
cmd = new SqlCommand(strSQL, conn);
da = new SqlDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
conn.Open();
da.Fill(dt);
dr = dt.Rows;
for (inti=0; i<=(dr.Count-1); i++) {
Response.Write(dr[i]["FirstName"].ToString()
+ " " + dr[i]["LastName"].ToString() + " - " + dr[i]["Title"].ToString() + "<br>");
}
conn.Close();
} catch (SqlException ex) {
Response.Write("Error accessing database: " + ex.ToString());
} catch (Exception ex) {
Response.Write("Exception: " + ex.ToString());
} finally {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
conn.Dispose();
} } }
</script>
表B
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="VB" runat="server">
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim dr As DataRowCollection
Dim connString As String
Dim strSQL As String
Dim i As Integer
Sub Page_Load()
If Not (IsPostBack) Then
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind"
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees"
Try
conn = new SqlConnection(connString)
cmd = new SqlCommand(strSQL, conn)
da = new SqlDataAdapter()
da.SelectCommand = cmd
dt = new DataTable()
conn.Open()
da.Fill(dt)
dr = dt.Rows
For i = 0 to (dr.Count-1)
Response.Write(dr(i)("FirstName").ToString()
+ " " + dr(i)("LastName").ToString() + " - " + dr(i)("Title").ToString() + "<br>")
Next i
conn.Close()
Catch ex As SqlException
Response.Write("Error accessing database: " + ex.ToString())
Catch ex As Exception
Response.Write("Exception: " + ex.ToString())
Finally
If (conn.State = ConnectionState.Open) Then
conn.Close()
End If
conn.Dispose()
End Try
End If
End Sub
</script>
你会注意到,结果通过DataRowCollection对象的给定值来访问,而单独的列则通过它们的名称(或是以零开始的给定值)来访问。DataRowCollection对象的单个元素用来显示某个员工的姓名与头衔。
注意,你可将DataTable对象用于数据绑定,这意味着你可以用它作DataGrid,Repeater或其它数据对象的数据源。表C中的例子应用DataTable对象作一个简单的DataGrid对象的数据源。(表D中为对应的VB.NET代码。)
表C
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
private SqlConnectionconn = null;
private SqlCommandcmd = null;
private SqlDataAdapterda = null;
private DataTabledt = null;
private DataRow[] dr = null;
private String connString;
private String strSQL;
private void Page_Load(object sender, System.EventArgs e) {
if (!IsPostBack) {
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind";
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees";
try {
conn = new SqlConnection(connString);
cmd = new SqlCommand(strSQL, conn);
da = new SqlDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
conn.Open();
da.Fill(dt);
dgTest.DataSource = dt;
dgTest.DataBind();
conn.Close();
} finally {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
conn.Dispose();
} } }
</script>
<asp:DataGrid id="dgTest" runat="Server"></asp:DataGrid><
表D
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="VB" runat="server">
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim dr As DataRowCollection
Dim connString As String
Dim strSQL As String
Dim i As Integer
Sub Page_Load()
If Not (IsPostBack) Then
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind"
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees"
Try
conn = new SqlConnection(connString)
cmd = new SqlCommand(strSQL, conn)
da = new SqlDataAdapter()
da.SelectCommand = cmd
dt = new DataTable()
conn.Open()
da.Fill(dt)
dgTest.DataSource = dt
dgTest.DataBind()
Finally
If (conn.State = ConnectionState.Open) Then
conn.Close()
End If
conn.Dispose()
End Try
End If
End Sub
</script>
<asp:DataGrid id="dgTest" runat="Server"></asp:DataGrid> DataTable类的另一强大功能是你拥有处理其数据的能力。这一功能的最好例证是Select方法,它允许你挑选单行或单列的数据。表E中的例子修改了前面的例子,只显示Select方法返回的行。(表F包含对应的VB.NET代码。)
表E
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
private SqlConnectionconn = null;
private SqlCommandcmd = null;
private SqlDataAdapterda = null;
private DataTabledt = null;
private DataRow[] dr = null;
private String connString;
private String strSQL;
private void Page_Load(object sender, System.EventArgs e) {
if (!IsPostBack) {
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind";
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees";
try {
conn = new SqlConnection(connString);
cmd = new SqlCommand(strSQL, conn);
da = new SqlDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
conn.Open();
da.Fill(dt);
dr = dt.Select("LastName = 'King'");
for (inti=0; i<=dr.GetUpperBound(0); i++) {
Response.Write(dr[i]["FirstName"].ToString()
+ " " + dr[i]["LastName"].ToString() + " - " + dr[i]["Title"].ToString() + "<br>");
}
conn.Close();
} catch (SqlException ex) {
Response.Write("Error accessing database: " + ex.ToString());
} catch (Exception ex) {
Response.Write("Exception: " + ex.ToString());
} finally {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
conn.Dispose();
} } }
</script>
表F
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="VB" runat="server">
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim dr() As DataRow
Dim connString As String
Dim strSQL As String
Dim i As Integer
Sub Page_Load()
If Not (IsPostBack) Then
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind"
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees"
Try
conn = new SqlConnection(connString)
cmd = new SqlCommand(strSQL, conn)
da = new SqlDataAdapter()
da.SelectCommand = cmd
dt = new DataTable()
conn.Open()
da.Fill(dt)
dr = dt.Select("LastName = 'King'")
For i = 0 to dr.GetUpperBound(0)
Response.Write(dr(i)("FirstName").ToString() + " " +
dr(i)("LastName").ToString() + " - " + dr(i)("Title").ToString() + "<br>")
Next i
Finally
If (conn.State = ConnectionState.Open) Then
conn.Close()
End If
conn.Dispose()
End Try
End If
End Sub
</script> Select方法返回一个与选择标准相匹配的DataRow对象数组。它有四个签名,不带返回所有行数据的参数。你可以传递选择声明并在其中包含一个分类列值和状态值。
Select方法只是DataTable类的许多方法与属性中的一个。详尽的方法与属性列表并不是本文讨论的内容,欲了解更多信息,请查看相关文件。
处理数据的另一选择方案
对每个应用程序来说,数据都是一个重要的元素。.NET框架提供了几种在应用程序中访问并处理数据的方法。DataSet的几个数据对象吸引了大部分的注意力,但其它的对象如DataTable在许多情况下也很有用。DataTable允许你处理单个的表格,与对应的DataSet对象相比,所需的管理费用更少。在下一个项目中,记得使用DataTable对象哦!
大多数的.NET开发者都熟悉经常使用的DataSet对象,而没有注意到DataTable对象。这真是让人遗憾,因为DataTable对象拥有许多功能,这些功能更适用于许多开发情形,尤其可提高对象的性能。在今天的栏目中,我们仔细研究一下如何在你的.NET项目中应用DataTable对象。
了解你的选择权
DataTable是一个.NET框架类,它代表一个单独的数据库列表。DataSet包含一个SQL查询的完整结果,因此它可能包括大量的表格。如果你应用一个DataSet对象,你可能要通过DataTable对象访问它的一个表格。另一方面,你可以避免应用DataSet对象,仅仅依靠DataTable对象来处理一个单独的表格和它的列。你可能通过它进行查询、分类或执行计算。
虽然你可以在同一种情况下应用DataSet与DataTable对象,在DataSet上应用DataTable的最大卖点之一在于提高性能。DataSet是与DataTable并列的一个相当大的对象。(值得注意的是,DataReader对象是资源友好的最终数据对象,但它并不总是适用。)
建立一个DataTable
开发者经常通过DataSet对象处理表格,你也可以访问包含在DataSet中的DataTable对象。在这些情况下,没有必要建立新的DataTable实例。实际上,在DataSet中处理数据时,你正在访问它的缺省DataTable对象。当一个DataSet从数据库中移出时,DataTable即通过正确的计划与数据建立。另一方面,你也可以通过数据库查询或应用自己的计划来创建DataTable对象。
一个DataTable对象包含数据库表格包含的一切内容:列、行等等。它有一个由DataColumn对象组成的Columns(列)属性。这些对象指定列的名称与类型。而且,Rows(行)属性包含一组DataRow对象。每一个DataRow对象都有一个与DataTable的列对应的值。
有两个建立DataTable对象的方法。首先,你可以用SQL服务器查询建立并移出一个DataTable对象。这是经常用来在DataSet中建立DataTable对象的方法。同样,你也可以通过指定对象的结构,并由代码增加数据来静态建立一个DataTable对象。这种方法常用于给一个应用程序建立原型,但根据的项目的不同,也适用于其它情况。
本文我们主要说明如何通过一个SQL服务器查询来建立并移出DataTable对象。移出DataTable对象是一件非常简单的事情。这一过程与应用DataSet对象,利用数据适配器对象来移出DataTable对象相似。可按照以下步骤,通过一个SQL服务器查询来创建并移出DataTable对象。
建立一个数据库连接。
用一个SQL服务器查询与连接创建命令对象。
建立一个数据适配器。
建立DataTable对象。
用数据适配器对象移出DataTable。
一旦建立了DataTable,它就包含了SQL服务器查询的结果。表A中的C#代码就是按照这些步骤来建立的DataTable对象。一旦DataTable对象被建立,就用一个DataRowCollection对象来处理由查询返回的数据行。(表B包含对应的VB.NET代码。)
表A
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
private SqlConnectionconn = null;
private SqlCommandcmd = null;
private SqlDataAdapterda = null;
private DataTabledt = null;
private DataRowCollectiondr = null;
private String connString;
private String strSQL;
private void Page_Load(object sender, System.EventArgs e) {
if (!IsPostBack) {
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind";
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees";
try {
conn = new SqlConnection(connString);
cmd = new SqlCommand(strSQL, conn);
da = new SqlDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
conn.Open();
da.Fill(dt);
dr = dt.Rows;
for (inti=0; i<=(dr.Count-1); i++) {
Response.Write(dr[i]["FirstName"].ToString()
+ " " + dr[i]["LastName"].ToString() + " - " + dr[i]["Title"].ToString() + "<br>");
}
conn.Close();
} catch (SqlException ex) {
Response.Write("Error accessing database: " + ex.ToString());
} catch (Exception ex) {
Response.Write("Exception: " + ex.ToString());
} finally {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
conn.Dispose();
} } }
</script>
表B
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="VB" runat="server">
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim dr As DataRowCollection
Dim connString As String
Dim strSQL As String
Dim i As Integer
Sub Page_Load()
If Not (IsPostBack) Then
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind"
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees"
Try
conn = new SqlConnection(connString)
cmd = new SqlCommand(strSQL, conn)
da = new SqlDataAdapter()
da.SelectCommand = cmd
dt = new DataTable()
conn.Open()
da.Fill(dt)
dr = dt.Rows
For i = 0 to (dr.Count-1)
Response.Write(dr(i)("FirstName").ToString()
+ " " + dr(i)("LastName").ToString() + " - " + dr(i)("Title").ToString() + "<br>")
Next i
conn.Close()
Catch ex As SqlException
Response.Write("Error accessing database: " + ex.ToString())
Catch ex As Exception
Response.Write("Exception: " + ex.ToString())
Finally
If (conn.State = ConnectionState.Open) Then
conn.Close()
End If
conn.Dispose()
End Try
End If
End Sub
</script>
你会注意到,结果通过DataRowCollection对象的给定值来访问,而单独的列则通过它们的名称(或是以零开始的给定值)来访问。DataRowCollection对象的单个元素用来显示某个员工的姓名与头衔。
注意,你可将DataTable对象用于数据绑定,这意味着你可以用它作DataGrid,Repeater或其它数据对象的数据源。表C中的例子应用DataTable对象作一个简单的DataGrid对象的数据源。(表D中为对应的VB.NET代码。)
表C
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
private SqlConnectionconn = null;
private SqlCommandcmd = null;
private SqlDataAdapterda = null;
private DataTabledt = null;
private DataRow[] dr = null;
private String connString;
private String strSQL;
private void Page_Load(object sender, System.EventArgs e) {
if (!IsPostBack) {
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind";
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees";
try {
conn = new SqlConnection(connString);
cmd = new SqlCommand(strSQL, conn);
da = new SqlDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
conn.Open();
da.Fill(dt);
dgTest.DataSource = dt;
dgTest.DataBind();
conn.Close();
} finally {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
conn.Dispose();
} } }
</script>
<asp:DataGrid id="dgTest" runat="Server"></asp:DataGrid><
表D
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="VB" runat="server">
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim dr As DataRowCollection
Dim connString As String
Dim strSQL As String
Dim i As Integer
Sub Page_Load()
If Not (IsPostBack) Then
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind"
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees"
Try
conn = new SqlConnection(connString)
cmd = new SqlCommand(strSQL, conn)
da = new SqlDataAdapter()
da.SelectCommand = cmd
dt = new DataTable()
conn.Open()
da.Fill(dt)
dgTest.DataSource = dt
dgTest.DataBind()
Finally
If (conn.State = ConnectionState.Open) Then
conn.Close()
End If
conn.Dispose()
End Try
End If
End Sub
</script>
<asp:DataGrid id="dgTest" runat="Server"></asp:DataGrid> DataTable类的另一强大功能是你拥有处理其数据的能力。这一功能的最好例证是Select方法,它允许你挑选单行或单列的数据。表E中的例子修改了前面的例子,只显示Select方法返回的行。(表F包含对应的VB.NET代码。)
表E
<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="C#" runat="server">
private SqlConnectionconn = null;
private SqlCommandcmd = null;
private SqlDataAdapterda = null;
private DataTabledt = null;
private DataRow[] dr = null;
private String connString;
private String strSQL;
private void Page_Load(object sender, System.EventArgs e) {
if (!IsPostBack) {
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind";
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees";
try {
conn = new SqlConnection(connString);
cmd = new SqlCommand(strSQL, conn);
da = new SqlDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
conn.Open();
da.Fill(dt);
dr = dt.Select("LastName = 'King'");
for (inti=0; i<=dr.GetUpperBound(0); i++) {
Response.Write(dr[i]["FirstName"].ToString()
+ " " + dr[i]["LastName"].ToString() + " - " + dr[i]["Title"].ToString() + "<br>");
}
conn.Close();
} catch (SqlException ex) {
Response.Write("Error accessing database: " + ex.ToString());
} catch (Exception ex) {
Response.Write("Exception: " + ex.ToString());
} finally {
if (conn.State == ConnectionState.Open) {
conn.Close();
}
conn.Dispose();
} } }
</script>
表F
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<script language="VB" runat="server">
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim da As SqlDataAdapter
Dim dt As DataTable
Dim dr() As DataRow
Dim connString As String
Dim strSQL As String
Dim i As Integer
Sub Page_Load()
If Not (IsPostBack) Then
connString = "data source=localhost;uid=test;pwd=test;initial catalog=Northwind"
strSQL = "SELECT LastName, FirstName, Title, HireDate FROM dbo.Employees"
Try
conn = new SqlConnection(connString)
cmd = new SqlCommand(strSQL, conn)
da = new SqlDataAdapter()
da.SelectCommand = cmd
dt = new DataTable()
conn.Open()
da.Fill(dt)
dr = dt.Select("LastName = 'King'")
For i = 0 to dr.GetUpperBound(0)
Response.Write(dr(i)("FirstName").ToString() + " " +
dr(i)("LastName").ToString() + " - " + dr(i)("Title").ToString() + "<br>")
Next i
Finally
If (conn.State = ConnectionState.Open) Then
conn.Close()
End If
conn.Dispose()
End Try
End If
End Sub
</script> Select方法返回一个与选择标准相匹配的DataRow对象数组。它有四个签名,不带返回所有行数据的参数。你可以传递选择声明并在其中包含一个分类列值和状态值。
Select方法只是DataTable类的许多方法与属性中的一个。详尽的方法与属性列表并不是本文讨论的内容,欲了解更多信息,请查看相关文件。
处理数据的另一选择方案
对每个应用程序来说,数据都是一个重要的元素。.NET框架提供了几种在应用程序中访问并处理数据的方法。DataSet的几个数据对象吸引了大部分的注意力,但其它的对象如DataTable在许多情况下也很有用。DataTable允许你处理单个的表格,与对应的DataSet对象相比,所需的管理费用更少。在下一个项目中,记得使用DataTable对象哦!
相关文章推荐
- 如何在项目中应用Lin“.NET研究”qToSql数据库事务
- 一起谈.NET技术,如何在项目中应用LinqToSql数据库事务
- 项目应用小趣味(一):实体对象(bean)如何在各个类中加载
- 数据库中如何写视图,以及视图项目中实际应用
- 在.Net安装项目中如何判断操作系统的版本
- JNI中如何在本地代码中生成和操作Java的对象和字符串,并编写应用实例
- 如何在.net应用中发现和避免内存和资源泄露
- 如何在.net应用中发现和避免内存和资源泄露
- 如何用Java实现.NET中DataTable功能
- 关于如何删除DataTable中的重复行---使用.Net提供方法
- 如何去掉DataTable中的重复行(新增.net 2.0中最新解决方法---简便)
- IOS 应用/游戏项目应该如何灵活封装 控件显示样式与项目颜色的公用
- .NET入门(一)如何在studio 2008的一个解决方案里切换项目执行
- 一起谈.NET技术,如何将ASP.NET MVC2项目升级到MVC 3 RC
- Flash与.NET的通信(三):LoadVars对象的应用
- 如何给.netC#项目打包部署
- 如何理解 async 和await 设计模式 和如何应用到.net 4以下的framework
- [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用
- .Net项目如何在三种类型之间切换
- 在.net中,控制台项目—(对控制台的进一步应用)