当前位置: 首页 > 编程日记 > 正文

Table doesn't have a primary key

从数据库取出来的数据,一般会放在一个DataTable中。但是,Insus.NET想实现一个小功能,就是在这个DataTable能快速找到某一行记录,来显示于asp.net页面上。这时我们可以使用DataTable的Find()成員函式來檢查資料是否已存在。但当Insus.NET尝试下面去获取某一行记录时,它即显示如标题一样的错误。

DataRow dr = objDataTable.Rows.Find("传入的主键值");

不是已经传入主键值了吗?它还是说表没有主键。看来我们让电脑去做了一件不知怎样选择的事情。由于一行记录有多个字段,我们只是传入一个主键值,但没有说明是哪一个字段的。电脑无法作出选择,因此有此错误。

既然是这样,那我们可以给DataTable指定一个主键的字段,在上面的代码前面加上下面这句代码。

objDataTable.PrimaryKey = new DataColumn[] { objDataTable.Columns["主键的字段名"] };

下面是实例代码(部分):

protected void TextBoxFiscalYear_TextChanged(object sender, EventArgs e)
    {
        var tb = (TextBox)sender;
        if (string.IsNullOrEmpty(tb.Text.Trim())) return;  //如果用户没有输入任何,那做return

        objPeriods.FiscalYear = ConvertData.ToSmallInt(tb.Text.Trim());
        objDataTable = objPeriods.GetPeriodsForMonth();  //获取指定财年的会计期间。

        
//为DataTable指定主键字段名称。[cp] -> current period 
        objDataTable.PrimaryKey = new DataColumn[] { objDataTable.Columns["CP"] };
        
        //为DataTable指会计当前期。
        DataRow dr = objDataTable.Rows.Find(this.DropDownListCurrentPeriod.SelectedItem.Value);

        //绑定数据。
        this.TextBoxCurrentAccountPeriod_s.Text = string.Format("{0:yyyy-MM-dd}", dr["PS"]);
        this.TextBoxCurrentAccountPeriod_e.Text = string.Format("{0:yyyy-MM-dd}", dr["pe"]);

        this.RepeaterAccPeriod.DataSource = objDataTable;
        this.RepeaterAccPeriod.DataBind();
    }

执行结果:

转载于:https://www.cnblogs.com/insus/archive/2012/08/22/2650137.html

相关文章:

【组队学习】【24期】数据挖掘实践(智慧海洋)

数据挖掘实践(智慧海洋) 开源内容: https://github.com/datawhalechina/team-learning-data-mining/tree/master/wisdomOcean 基本信息 贡献人员:李运佳、李万业、赵信达、张晋、刘羽中、王贺、肖明远学习周期:12天…

vim 输入中文

收藏一些有关vim输入中文的链接为了以后方便查看 http://vimim.googlecode.com/svn/vimim/vimim.html http://www.wang3feng.com/2010/07/03/e5-ad-a6vim-e4-ba-8c-e5-a6-82-e4-bd-95-e5-9c-a8vim-e4-b8-ad-e6-9b-b4-e5-a5-bd-e7-9a-84-e8-be-93-e5-85-a5-e4-b8-ad-e6-96-87/ 本…

Web前端工程师的一些常见误区

想要作为一名合格的web前端工程师,那么掌握基本的开发技术是远远不够的,在职场中还要少犯一些错误,本期小编为大家分享的web前端培训教程主要是介绍一些web前端工程师常见的误区,希望对大家有所帮助。 web前端培训分享&#xff1a…

WPF关闭应用程序,释放Window窗口资源方法

WindowsForm里一个Application.Exit();方法就可以关闭应用程序,释放掉资源。 WPF里Application类没有该方法,但是有一个Exit的事件驱动,在WPF应用程序里面关闭程序讲究很多: 在WPF应用程序的关闭是有ShutdownMode属性设置&#xf…

《Cisco/H3C交换机配置与管理完全手册(第2版)》终稿封面和目录

无数网友一直殷切期待和关注的《Cisco/H3C交换机配置与管理完全手册》(第2版)一书即将于本月底正式上市了。到时对于真实读者,写书评后可以参加全额返款的抽奖活动,加入我的微博(本博客首页中有),留意我发布的最新资讯…

【组队学习】【24期】Docker教程

Docker教程 开源内容: https://github.com/datawhalechina/team-learning-program/tree/master/Docker 基本信息 贡献人员:苏鹏、陈安东,于鸿飞,陈长沙,丁一超,乔石,刘雯静学习周期&#xf…

网站ui的配色有哪些需要注意的?

作为一名UI设计师,那么关于配色的问题是非常注重的,尤其是做一款网站设计,配色方面要非常注意,本期小编为大家介绍的UI设计培训教程就是关于网站ui的配色有哪些需要注意的?来看看下面的详细介绍。 UI设计培训分享:网站…

2、安装Lync Server 2013

一、实验环境拓扑的准备工作 二、开始安装Lync Server 2013 安装Lync Server系统主要包含以下的内容:安装本地配置存储、安装Lync Server 组件、请求并分配Lync证书、启动服务。 运行Lync Server 2013的安装程序,选择“安装或更新Lync Server系统”&…

!! 机器学习常用工具

http://fuliang.iteye.com/blog/955023 机器学习 Support Vector Machine SVMlightAn implementation of Vapniks Support Vector Machine LIBSVMA Library for Support Vector Machines Decision Tree C4.5The "classic" decision-tree tool, developed by J. R. Qu…

Datawhale组队学习周报(第010周)

本周(04月19日~04月25日),第 24 期组队学习正在如火如荼的进行中。本期组队学习,一共有 5 门开源课程,共组建了 6 个学习群,参与的学习者有 788 人。另外,第 25 期组队学习也蓄势待发准备与大家…

零基础怎么学习Java?

最近几年,有很多小伙伴都比较关注“零基础怎么学习Java?”这个问题,因为很多小伙伴都是从其他行业转型来参加java培训学习的,都很担心自己学不会,那么来看看下面的详细介绍吧。 零基础怎么学习Java?来看看以下才几点java培训学习…

如何爬取知乎中问题的回答以及评论的数据?

如何爬取知乎中问题的回答以及评论的数据? 我们以爬取“为什么中医没有得到外界认可?”为例来讨论一下如何爬取知乎中问题的回答以及评论的数据。 爬取网页数据通常情况下会经历以下三个步骤。 第一步:网页分析,确认自己所要数据…

Facebook如何使用Avartarnode提升HDFS可靠性

在不久前的Hadoop峰会上,Facebook的工程师Andrew Ryan分享了他们如何使用Namenode和Avatarnode提升HDFS可靠性的方法。Ryan从2009年开始,就参与到了Facebook的 Hadoop开发中。在他的帮助下,Facebook的Hadoop和HDFS数据基础设施,从…

无法远程分发安装软件原因

一、问题及原因 最近做实验在域环境通过组策略分发软件、防病毒网络版远程安装客户端软件都失败,真的原因在于:阻止对Windows注册表的远程访问引起来的。客户端是XP系统,通过Ghost版本安装的,默认是禁用Windows XP注册表的远程访…

小程序的ui应该怎么设计?

UI设计中小程序的设计是很多UI设计师在工作中会碰到的,一款好的小程序设计页面,会带来效果很好的用户体验,下面小编就为大家详细的分享一下具体小程序的ui应该怎么设计? UI设计培训分享:小程序的ui应该怎么设计? 一、导航明确&a…

什么是ThreadLocal

顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看&#xff0…

【组队学习】【25期】Datawhale组队学习内容介绍

第25期 Datawhale 组队学习活动马上就要开始啦! 本次组队学习的内容为: web开发入门教程数据挖掘实战(异常检测)集成学习(下) 大家可以根据我们的开源内容进行自学,也可以加入我们的组队学习…

为pony程序添加IACA标记(二)

在上一篇文章介绍了一种加IACA标记的方法,但使用还是很麻烦,所以我尝试修改pony编译器,直接增加了IACA支持,目前代码在iaca分支。 使用方法 因为还没发PR到上游,所以要自己克隆编译。 git clone https://github.com/or…

Python培训就业怎么样?

学习Python技术的同学越来越多,很多人都比较看好Python这项技术,觉得Python的前景是不错的,那么具体Python培训就业怎么样呢?来看看下面的详细介绍就知道了。 Python培训就业怎么样?国家大力推行互联网人工之智能技术、大数据技术等&#x…

Oracle Connect to an idle instance

意思是数据库没有启动。转载于:https://www.cnblogs.com/vigarbuaa/archive/2012/09/05/2671825.html

【青少年编程】【Scratch】10 画笔模块

10 画笔模块 有关于画笔模块,需要掌握以下两个方面的内容: 能够设置画笔的属性:颜色、粗细、亮度/饱和度/透明度能够使用画笔绘制各种图案:抬笔、落笔、擦除 1. 使用者可以设置各种画笔属性。 另外,可以将角色设置为…

4-1 ADO.NET简介

第四章ADO.NET数据库访问技术本章内容4-1 ADO.NET 简介4-2 ADO.NET-插入、删除、修改、检索数据4-3 DataGridView 控件 — 显示和操作数据4-4本章小结 本章重点介绍WINDOWS应用程序对数据访问所涉及的SYSTEM.DATA.SQLCLIENT、SYSTEM.DATA.OLEDB、SYSTEM.DATA.ORA…

Java培训出来后一般多少工资

学完Java培训出来后一般多少工资呢?这是很多人都比较关心的一个问题,小编在这里告诉大家,java技术这个岗位分为初级、中级和高级,每个等级的工资情况也是不一样,来看看下面的详细介绍。 Java培训出来后一般多少工资?Java程序员薪…

NeHe OpenGL第四十一课:体积雾气

NeHe OpenGL第四十一课&#xff1a;体积雾气 体积雾气 把雾坐标绑定到顶点&#xff0c;你可以在雾中漫游&#xff0c;体验一下吧。 这一课我们将介绍体积雾&#xff0c;为了运行这个程序&#xff0c;你的显卡必须支持扩展"GL_EXT_fot_coord"。 #include <wi…

如何做中文文本的情感分析?

如何做中文文本的情感分析&#xff1f; 这是本学期在大数据哲学与社会科学实验室做的第三次分享了。 第一次分享的是&#xff1a;如何利用“wordcloudjieba”制作中文词云&#xff1f; 第二次分享的是&#xff1a;如何爬取知乎中问题的回答以及评论的数据&#xff1f; 本次…

java游戏开发--连连看-让程序运行更稳定、更高效

之六&#xff09;优化&#xff1a;让程序运行更稳定、更高效 改善游戏的合理性 到目前为止&#xff0c;我们的游戏基本上算是完成了&#xff0c;为了使程序更合理&#xff0c;我们还需要将整个程序从头再理一遍&#xff0c;看看有没有改进的地方。 首先&#xff0c;在变量的…

学java是不是必须要参加java培训班?

学java是不是必须要参加java培训班?java技术对于零基础的同学来说学习起来是比较困难的&#xff0c;所以对于这个问题&#xff0c;小编的回答是当然要参加java培训班进行系统学习&#xff0c;下面来看看到底有没有必要报班学习? 学java是不是必须要参加java培训班?学习Java无…

【青少年编程】黄羽恒:我要背单词

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&…

【转载】:最佳注释

原文地址&#xff1a;http://blog.xiqiao.info/2012/08/29/1240 转载于:https://www.cnblogs.com/TianFang/archive/2012/09/05/2672558.html

从 C++ 到 Objective-C

开始一个新的系列《从 C 到 Objective-C》。欢迎感兴趣的童鞋看看。在做完《让你的 Qt 桌面程序看上去更加 native》之后&#xff0c;也会把这个系列搬到这里来吧。不过这是后话了…;-P 地址&#xff1a;http://www.devbean.info PS&#xff1a;话说 wordpress 还是更好用一些……