日期:2014-05-17  浏览次数:20865 次

能不能用datatable或者datarow作为函数参数传递数据?
如何用?
传递后如何读取每一行每一列的数据
谢谢!

------最佳解决方案--------------------
void ReadTable(DataTable dt)
{
    foreach(DataRow row in dt.Rows)
    { 
         ......
     }
}

手写的代码。
------其他解决方案--------------------
還有一種思路可以創建全局變量DataTable供使用,以下是B/S直接用作函數的參數例子
B/S

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DataTable dt = CreateDataTable();
        getDataTable(dt);
    }
    /// <summary>
    /// 創建DataTable表
    /// </summary>
    /// <returns></returns>
    private DataTable CreateDataTable()
    {
        DataTable dt = new DataTable("User");

        dt.Columns.Add("user_name", typeof(string));
        dt.Columns.Add("user_password", typeof(string));
        dt.Columns.Add("user_page", typeof(int));

        DataRow dr = dt.NewRow();
        dr[0] = "zhangsan";
        dr[1] = "123456";
        dr[2] = 25;

        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr[0] = "lisi";
        dr[1] = "123";
        dr[2] = 37;

        dt.Rows.Add(dr);

        return dt;
    }
    /// <summary>
    /// 獲取DataTable中所有的值
    /// </summary>
    /// <param name="dt"></param>
    private void getDataTable(DataTable dt)
    {
        if (dt.Rows.Count > 0)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {