C#中datatable的用法/传数据
在开发中,我们常用到表类型数据,不同于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的用法/传数据的更多相关文章
- 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 ...
- C#中DataTable删除多条数据
//一般情况下我们会这么删除 DataTable dt = new DataTable(); for (int i = 0; i < dt.Rows.Count; i++) { if (99 % ...
- 往aws中的s3上传数据
在官网下载对应的sdk http://aws.amazon.com/cn/sdk-for-net/ 然后再aws上为s3上的bucket生成密钥对 access_key和secret_key 调用对应 ...
- SpringMVC中使用Json传数据
在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项 ...
- socket传数据并记录到文件中
最近在新项目中要通过socket传一些数据,下面是程序: 功能: 将客户端发送的json数据写入到日志文件中,如果数据不是json的,丢弃. 程序如下: #!/usr/bin/env python # ...
- Android开发中Bundle用法包裹数据(转)
Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...
- Django中从本地上传excel文件并将数据存储到数据库
Django中从本地上传excel文件并将数据存储到数据库 一.前端界面 <div class="page-container"> <form action=&q ...
- vue中父组件传数据给子组件
父组件: <template> <parent> <child :list="list"></child> //在这里绑定list对 ...
- 【转载】C#通过Remove方法移除DataTable中的某一列数据
在C#中的Datatable数据变量的操作过程中,有时候我们需要移除当前DataTable变量中的某一列的数据,此时我们就需要使用到DataTable变量内部的Columns属性变量的Remove方法 ...
随机推荐
- 但是你没有【But you didn't.】【by Anonymous】
作者是一位普通的美国妇女,她的丈夫在女儿4岁时应征入伍去了越南战场,从此她便和女儿相依为命.后来,她的丈夫.孩子的爸爸不幸阵亡.她终身守寡,直至年老病逝.她女儿在整理遗物时发现了母亲当年写给父亲的这首 ...
- pat05-图2. Saving James Bond - Easy Version (25)
05-图2. Saving James Bond - Easy Version (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作 ...
- PHP函数库(概览)
数组函数: array_change_key_case — 返回字符串键名全为小写或大写的数组 array_chunk — 将一个数组分割成多个 array_column — 返回数组中指定的一列 a ...
- linux 下库的深入调研
linux操作系统中,linux库文件路径还是比较常用的,于是我研究了一下linux库文件路径,在这里拿出来和大家分享一下,希望对大家有用. 库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程 ...
- Window WindowManager 和WindowManager.LayoutParams
<一> Window window是android中的窗口,表示顶级窗口的意思,也就是主窗口,它有两个实现类, PhoneWindow和MidWindow,我们一般的activity对应的 ...
- HTTP的GET和POST格式解析
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yc0188/archive/2009/10/29/4741871.aspx HTTP报文是面向文本的,报文中的每一个字 ...
- hdu 1561 树形DP n个选m个价值最大
http://acm.hust.edu.cn/vjudge/problem/18068 #include <iostream> #include <string> #inclu ...
- 从零开始的全栈工程师——js篇2.21(事件对象 arguments 阻止事件默认行为兼容 事件委托 事件源对象)
一.事件对象 1.常用的事件2.每个元素身上的事件都是天生存在的 不需要我们去定义 只需要我们给这个事件绑定一个方法 当事件触发的时候就会执行这个方法 3.事件绑定的写法 ①div.onclick=f ...
- MySQL慢查询分析工具pt-query-digest详解
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- Android自定义控件 -- 带边框的TextView
使用xml实现边框 原来使用带边框的TextView时一般都是用XML定义来完成,在drawable目录中定义如下所示的xml文件: <?xml version="1.0" ...