在开发中,我们常用到表类型数据,不同于string,int。。。。那么datatable类型如何定义呢,具体怎么使用呢,代码如下:

namespace Common.Table
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Runtime.Serialization; [System.ComponentModel.DesignerCategory("Code")]
[SerializableAttribute]
public class dataTableName : DataTable
{
public const string dataTableName_TABLENAME = "dataTableName ";
public const string FILE_ID_FIELD = "FILE_ID";
public const string APPLYER_FIELD = "APPLYER";
public const string YEARMONEY_FIELD = "YEARMONEY";
public const string COMPANY_NAME_FIELD = "COMPANY_NAME"; public dataTableName ()
{
BuildDataTables();
} public dataTableName (SerializationInfo info, StreamingContext context) : base(info, context) { }
private void BuildDataTables()
{
this.TableName = dataTableName_TABLENAME ;
this.Columns.Add(FILE_ID_FIELD, typeof(System.String));
this.Columns.Add(APPLYER_FIELD, typeof(System.String));
this.Columns.Add(YEARMONEY_FIELD, typeof(System.Double));
this.Columns.Add(COMPANY_NAME_FIELD, typeof(System.String));
}
}
}

表数据类型已经定义完成,通常表类型中列的名字和列的个数都是和表名都是和数据库中的表是一致的,这样方便数据库的操作

废话不多说,具体使用方法如下:

  public dataTableName table1 //申明一个表类型数据的属性,方便下面使用
{
get
{
return ((ViewState["table1"] == null) ? null : (dataTableName )ViewState["table1"]);
}
set
{
ViewState["table1"] = value;
}
} protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
table1 = new dataTableName ();//页面加载时要实例化,不然会报‘未将对象引用到实例’的错误
}
}
protected void lbtnSave_Click(object sender, EventArgs e)
{      DataRow row = null;
    row = dataTableName.NewRow();
table1 .Rows.Add(row);
     row[dataTableName .FILE_ID_FIELD] = values1;
row[dataTableName .APPLYER_FIELD] = values2;
    
    table1 .AcceptChanges();
     datatable.DefaultView.Sort = "columnName desc";//排序
} 调用时的代码:
System mySystem = new System();
myData = mySystem.mothed(myFamilyInfoTable);

接收参数:

public calss System
{
   public DataSet mothed( dataTableName table2);
}

ok,

 

C#中datatable的用法/传数据的更多相关文章

  1. SELECT INTO和INSERT INTO SELECT的区别 类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对 C# 获取一定区间的随即数 0、1两个值除随机数以外的取值方法(0、1两个值被取值的概率相等) C# MD5 加密,解密 C#中DataTable删除多条数据

    SELECT INTO和INSERT INTO SELECT的区别   数据库中的数据复制备份 SELECT INTO: 形式: SELECT value1,value2,value3 INTO Ta ...

  2. C#中DataTable删除多条数据

    //一般情况下我们会这么删除 DataTable dt = new DataTable(); for (int i = 0; i < dt.Rows.Count; i++) { if (99 % ...

  3. 往aws中的s3上传数据

    在官网下载对应的sdk http://aws.amazon.com/cn/sdk-for-net/ 然后再aws上为s3上的bucket生成密钥对 access_key和secret_key 调用对应 ...

  4. SpringMVC中使用Json传数据

    在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项 ...

  5. socket传数据并记录到文件中

    最近在新项目中要通过socket传一些数据,下面是程序: 功能: 将客户端发送的json数据写入到日志文件中,如果数据不是json的,丢弃. 程序如下: #!/usr/bin/env python # ...

  6. Android开发中Bundle用法包裹数据(转)

    Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...

  7. Django中从本地上传excel文件并将数据存储到数据库

    Django中从本地上传excel文件并将数据存储到数据库 一.前端界面 <div class="page-container"> <form action=&q ...

  8. vue中父组件传数据给子组件

    父组件: <template> <parent> <child :list="list"></child> //在这里绑定list对 ...

  9. 【转载】C#通过Remove方法移除DataTable中的某一列数据

    在C#中的Datatable数据变量的操作过程中,有时候我们需要移除当前DataTable变量中的某一列的数据,此时我们就需要使用到DataTable变量内部的Columns属性变量的Remove方法 ...

随机推荐

  1. UGUI [TextArea]

  2. Animation 把动画片段拖入Animation组件里后不能播放

    1. 选中动画片段,点击右上角三道横杠那个按钮,选择Debug: 2.选择Legacy,然后再点击那个三道横岗的按钮,选择Normal就可以用了应该.

  3. MySQL · 引擎特性 · InnoDB index lock前世今生

    http://mysql.taobao.org/monthly/2015/07/05/ MySQL · 引擎特性 · InnoDB index lock前世今生 前言 InnoDB并发过程中使用两类锁 ...

  4. Java基础06-条件选择语句

    1.switch多分支结构 import java.util.Scanner; public class Test1{ public static void main(String[] args){ ...

  5. (转)Nagios 配置及监控

    Nagios 配置及监控 原文:http://blog.csdn.net/linuxlsq/article/details/52606824 Nagios 监控 在互联网日益发展的今天,监控的重要性已 ...

  6. linux_api之进程控制

    本篇索引: 1.引言 2.进程标识 3.多进程 4.fork函数 5.vfork函数 6.exit函数 7.wait和waitpid函数 8.竞态 9.exec函数族 10.进程状态 11.syste ...

  7. Linux apache 添加 mod_rewrite模块

    apache已安装完毕,手动添加mod_rewrite模块  #find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件 #cd mo ...

  8. 利用nginx的fastcgi_cache模块来做缓存

    nginx不仅有个大家很熟悉的缓存代理后端内容的proxy_cache,还有个被很多人忽视的fastcgi_cache. proxy_cache的作用是缓存后端服务器的内容,可能是任何内容,包括静态的 ...

  9. Linux 下 zip 文件解压乱码解决方案,ubuntu16.10亲测可用

    文章来源: https://www.zhihu.com/question/20523036 今天邮件中收到了一个压缩文件,解压后却是乱码,从网上也找了几个方法,目前这个方法还是比较可靠的,如下所示: ...

  10. Facebook TSDB论文Gorilla分析

    Facebook TSDB论文Gorilla分析 背景 TSDB时序数据库用于存储时间相关的数据,常用于监控系统的数据存储,分布式的TSDB提供了海量的数据存储能力,如InfluxDB.OpenTSD ...