怎样为DataTable设置主键及找行数据
只要是数据集中都应该存在主键,以确定数据集中唯一的值。那么,我们要如何为DataTable设置主键及利用主键在DataTable索引值呢?
步骤/方法
为DataTable设置主键
DataTable的主键属性为PrimaryKey,利用该属性,我们可以设置或者获取DataTable的主键。因为DataTable的主键和SQL Server的主键一样,存在联合主键的问题,所以PrimaryKey应该是一个DataColumn数组。我们可以先设置一个DataColumn数组,当然,这个数组中的列都应该是该DataTable中的列。然后将这个数组赋给PrimaryKey属性作为DataTable的主键。
//先声明一个DataTable
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Columns.Add("C");
dt.Columns.Add("D");//然后我们将列A与列B作为dt的联合主键
DataColumn[] cols = new DataColumn[] { dt_smartgrid.Columns["A"], dt_smartgrid.Columns["B"] };
dt.PrimaryKey=cols;很简单,我们就为dt设置好主键了。
- 4
利用主键查找行数据
上一步我们已经为DataTable设置好主键,这一步我们演示如何利用主键查找数据。
首先我们要声明一个object[]数据,对应主键的数组中列的值,如上面的主键数组,我们声明一个object[]数组并赋值。
示例:object[] objs=new object[]{"school","class"};
DataRow dr=dt.Rows.Find(objs);上面的dr就是我们利用主键查找出来的唯一的行。
怎样为DataTable设置主键及找行数据的更多相关文章
- oracle中如何设置主键并且让其自动增长
由于oracle中是没有自动增长的的,需要自己去进行写触发器等方式去进行设置: 找了一下他人写的,有两种方法可以设置主键,一种是自增长主键,另一种就是生成唯一序列. 一.自增长主键 我创建一个用户的信 ...
- PL/SQL设置主键自增
oracle没有设置主键auto increment的功能,需要自己编写序列和触发器实现主键自动递增. 示例: 创建表menu: 一.创建表 create table menu( menuId n ...
- Django数据库怎么给字段设置主键
id = models.IntegerField(primary_key = True) 附: null :缺省设置为false.通常不将其用于字符型字段上,比如CharField,TextField ...
- SQL语句建表、设置主键、外键、check、default、unique约束
· 什么是数据库? 存放数据的仓库. · 数据库和数据结构有什么区别? 数据结构要解决在内存中操作数据的问题,数据库要解决在硬盘中操作数据的问题.数据结构研究一些抽象数据模型(ADT)和以及定义在该模 ...
- Oracle + Entity Framework 更新没有设置主键的表
最近用Entity Framework 开发的时候,发现一个问题,在默认情况下,EF不能对一个没有主键的表进行更新.插入和删除的动作. 那么,应该怎么处理没有主键的表呢? 我们打开这个表的edmx文件 ...
- 关于oracle设置主键自增的问题
关于orcale设置主键自增的问题 关于主键Oracle中并没有提供一个直接的语句设置,对于这个oralce一般都是用序列和触发器来实现 一下又两种方法来实现 一 ,不使用触发器 创建序列: crea ...
- Sql Server设置主键和外键
设置主键 https://jingyan.baidu.com/article/9158e0003349a7a2541228fd.html 设置外键 https://jingyan.baidu.com/ ...
- Oracle 创建表并设置主键自增
创建数据库 CREATE TABLE STUDENT(ID NUMBER PRIMARY KEY, NAME VARCHAR(200) NOT NULL, SEX VARCHAR(200), CREA ...
- 使用pl/sql的文本导入器时如何设置主键自增长
在使用文本导入器批量导入数据时,如果需要设置主键自增长,可以先创建一个序列: create sequence SEQ_Userinf start with 1 increment by 1nomaxv ...
随机推荐
- 杭电1241 Oil Deposits
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
- paper 69:Haar-like矩形遍历检测窗口演示Matlab源代码[转载]
Haar-like矩形遍历检测窗口演示Matlab源代码 clc; clear; close all; % Haar-like特征矩形计算 board = 24 % 检测窗口宽度 num = 24 % ...
- sql case when 速记
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- 卸载PythonToolKit的方法
先借用官网的内容介绍一下: PythonToolkit (PTK) is an interactive environment for python. It was originally design ...
- C语言初学者代码中的常见错误与瑕疵(15)
见:http://www.cpfn.org/bbs/viewtopic.php?f=85&t=5946&sid=0252f08a6d697fbf5a684ec5f6faf1f2 相关链 ...
- UIPage
分页控件是一种用来取代导航栏的可见指示器,方便手势直接翻页,最典型的应用便是iPhone的主屏幕,当图标过多会自动增加页面,在屏幕底部你会看到原点,用来只是当前页面,并且会随着翻页自动更新. 一.创建 ...
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- Java汉诺塔算法
汉诺塔问题[又称河内塔]是印度的一个古老的传说. 据传开天辟地之神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把 ...
- 161118、linux(centos) 项目部署阶段相关命令汇总
1.ssh免密码登陆 主要命令 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys-->添加公钥 service sshd restart ...
- 一篇文章一张思维导图看懂Android学习最佳路线
一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...