在开发中,我们常用到表类型数据,不同于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. C++常用数据结构(对照python)

    python: c++17: get set extend/update find index size loop list std::vector v[0]; v.emplace_back(&quo ...

  2. 怎么为android控件边缘添加阴影

    为控件设置一个有阴影感的背景图片即可,可以使用shape 在自定义shape中增加一层或多层,并错开,即可显示阴影效果.为增加立体感,按钮按下的时候,只设置一层.我们可以通过top, bottom, ...

  3. Murano Weekly Meeting 2016.07.12

    Meeting time: 2016.July.12 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: 1. ...

  4. 案例54-crm练习新增联系人

    1 前台页面部分 1 linkman/add.jsp <%@ page language="java" contentType="text/html; charse ...

  5. 解决 eclipse cdt 运行时控制台乱码解决

    1 点击黑色 倒三角 按钮 选择 run configurations 2 2.1 点击new 添加 LANG = en_US 2.2 选择 replace native environment wi ...

  6. pat1087. All Roads Lead to Rome (30)

    1087. All Roads Lead to Rome (30) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...

  7. Oracle安装后忘记用户名或密码+创建新登陆用户

    新安装的Oracle11g,不料在使用的时候没记住安装时的用户名和密码. 不用担心,打开sqlplus. 按如下步骤,新建一个登陆用户: 第一步:以sys登陆  sys/密码 as sysdba  此 ...

  8. Java学习笔记--继承和多态(下)

    1.通过继承来开发超类(superclass) 2.使用super 关键词唤起超类的构造方法 3.在超类中覆盖方法 4.区分override和overload 5.在Object类中探索toStrin ...

  9. Tiled 地图编辑器使用教程-官方demo

    一.Tiled Map Editer 下载地址 http://www.mapeditor.org/download.html 二.官方教程查看 下载安装后,不管windows还是Mac系统都包含官方例 ...

  10. python模块详解 hashlib

    hashlib模块 用于加密相关的操作,在python3中替代了md5和sha模块,主要提供SHA和MD5算法. MD5 import hashlib m = hashlib.md5() #调用md5 ...