您的位置:首页 > 编程语言 > C#

c# web 根据自定义datatable主键获取datarow

2011-07-05 22:18 337 查看
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace DataTableDemo
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = GetDataTable();
string id="3";
string name = "zhangsan3";
DataRow dr1 = GetRow(dt,id);
DataRow dr2 = GetRow(dt, id, name);
}
}
/// <summary>
/// 根据主键id获取datarow
/// </summary>
/// <param name="dt">datatable</param>
/// <param name="id">id</param>
/// <returns></returns>
private DataRow GetRow(DataTable dt,string id)
{
DataRow dr = null;
//把id定义为datatable的主键,前提是根据id必须是唯一datarow。
dt.PrimaryKey = new DataColumn[] { dt.Columns["id"]};
dr = dt.Rows.Find(id);
return dr;
}
/// <summary>
/// 根据主键id,name获取datarow
/// </summary>
/// <param name="dt">datatable</param>
/// <param name="id">id</param>
/// <param name="name">name</param>
/// <returns></returns>
private DataRow GetRow(DataTable dt, string id, string name)
{
DataRow dr = null;
//把id,name定义为datatable的主键,前提是根据id,name必须是唯一datarow。
dt.PrimaryKey = new DataColumn[] { dt.Columns["id"], dt.Columns["name"] };
string[] str={id,name};
dr = dt.Rows.Find(str);
return dr;
}
/// <summary>
/// 获取数据
/// </summary>
/// <returns></returns>
private DataTable GetDataTable()
{
DataTable dt = InitDataTable();
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = i ;
dr["name"] = "zhangsan"+i;
dr["sex"] = "male";
dt.Rows.Add(dr);
}
return dt;
}
/// <summary>
/// 初始化datatable
/// </summary>
/// <returns></returns>
private DataTable InitDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("id"));
dt.Columns.Add(new DataColumn("name"));
dt.Columns.Add(new DataColumn("sex"));
return dt;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# web datatable 主键