问题标签 [database-programming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
64 浏览

c# - How to associate a customized number with exception

I have some code where I want to throw two exceptions; however, the exception are basically the same but with different values. I would like to know an elegant generic way to determine which of these errors occurred.

I know I can do two try catches or that I can set a Boolean to determine the success of query. I am also aware that this can be done in 1 query; however, I need to be able to determine if the company key was wrong or if PA id was wrong. I also know that I can create my own exception and add an additional field to it. Unfortunately, I do not believe that any of these are the optimal solution and this has been bothering me for quite some time.

Any information as to best practice would be appreciated.

0 投票
2 回答
173 浏览

c# - 代码重用与数据库访问持续时间

问题

我有一些代码,我以这种方式编写了代码,以实现高可维护性和代码可重用性。我担心一段特定的代码,我想就这段代码是否会在高压力下崩溃提出专业意见。

Codez ##

我在看什么?

我最关心的是抽象类中的Insert、Update 和Delete 方法调用具体类中的Insert、Update 和Delete。

我这样做是为了在必要时通过打开连接并显式启动事务、发送事务并仍然让对象做他们需要做的事情来启用事务;此外,如果我必须为 40 个左右的类显式地重写这 3 个方法,它可能会变得非常麻烦。

但是,我担心过早打开连接可能会占用数据库。我不知道在任何给定时间可能会更新多少输入数据。在这种情况下,我有两个主要想法,我可以在抽象类中进行插入、更新和删除抽象,并在紧接在 Command.ExecuteNonQuery() 之前显式打开连接时实现它们,或者我可以保留它现在的样子。

我想从你那里得到什么?

首先,你对情况的看法。其次,指出逻辑背后的任何陷阱或您碰巧发现的任何错误编码也将非常有帮助。

0 投票
1 回答
1756 浏览

database-design - 您如何确定功能依赖关系和主键?

在我的 Oracle 数据库编程课程中,我们最终实验室评估的第一部分要求我们:

  • 识别当前显示的表的主键
  • 找到我们要使用的表的所有功能依赖项。
  • 绘制表的依赖关系图

该表以 1NF 开头。

从我所做的研究来看,我似乎需要基本上组合所有可能的 FD,这不仅会消耗大量时间,而且考虑到他希望我们在依赖关系图中映射这些关系,这似乎很奇怪。这基本上会导致一切都链接到一切 - 这就是为什么我相信我不了解功能依赖关系。

我知道函数依赖在 R 中构成 X-> Y,其中 Y 不是由任何其他 X 产生的,并且应该使您能够通过此依赖确定表中的所有其他值。

我也明白“X”和“Y”可以包含多个属性。这是我不明白的,因为如果我将我的属性映射到代数变量(这似乎是这样做的方法?),我有字母 AJ;我想出的依赖项的数量似乎令人震惊,我不想浪费时间做错事。

这是否意味着我需要提供所有全功能依赖、部分依赖和传递依赖?

我的表由当前状态为 1NF 的 10 列组成 - 因此,AJ 将是我在此过程中的属性标识符。我发现 R(AD) 构成了一个强大的主键,但我不确定我是否需要从布置所有 FD 中导出 PK,或者我是否可以选择一个 PK 并从这一点找到我的 FD。如果是这样的话——考虑到我的 PK 将真正决定模型内关系的映射,我是否仍然布置每个 FD?

https://www.dropbox.com/s/3vwo1axe7a1i20s/final%20lab%20instructions.pdf?dl=0

0 投票
1 回答
483 浏览

database - 如何在 ADO 记录集的过滤器属性的字段名称中引用方括号

我试图在其中一个字段名称包含左右方括号作为名称的一部分的 ADO 记录集上指定过滤条件。生成的条件字符串被分配给 Recordset 的Filter属性,以便对从 Recordset 返回的数据进行子集化。

如果字段名称是“名字”,那么只需将字段名称括在方括号中即可。例如:

但是,对于诸如“Height [cm]”之类的字段名称,我无法确定如何在字段名称中引用方括号。在互联网上搜索后,我尝试过的事情是:

但这些都不起作用。

有关处理此类名称的正确方法的任何建议?

谢谢,大卫。

顺便说一句,我无法控制正在访问的数据表中的名称。

0 投票
1 回答
62 浏览

c# - 尝试连接到 Access 数据库表以检索数据,但遇到困难

第一次做数据库编程,所以我只是在Access中做了一个数据库来尝试用它做一些事情。我在桌面上创建的数据库名为“TestDatabase”,我在该数据库中创建的表名为“TestTable”。这是我的代码:

如果您想知道,这是我的桌子的样子:(只是一个玩具示例)

但是,它不起作用,因为我的控制台上什么也没有出现。我做错什么了。真的需要一些帮助。谢谢。

0 投票
1 回答
117 浏览

postgresql - PostgreSQL 内部结构 - 在 Operator 中使用 GUC?

我正在基于GiST作为扩展在 PostgreSQL 中创建自己的索引方法。我希望我的运算符中的一个函数(查看示例部分)根据用户定义的值表现不同 - 我希望避免用户不得不删除并再次创建运算符。

所以,我正在考虑引入一个GUC变量。但是,我不太确定如何适当地实现这一点。现在在我的实现中,操作符是使用 GUC 的值创建的,并且一旦 GUC 值在运行时发生变化,它的行为就不会有所不同。

我不确定是否必须以某种方式更改函数的签名以使用 GUC,或者是否必须引入一些指向 GUC 的指针。我找不到任何有用的材料,也没有完全理解实现这一目标的内部机制。

我必须使用哪些最佳实践来引入在运行时改变行为的运算符?不幸的是,我找不到太多关于在这种情况下编写内部函数/操作符/GUC 的信息,所以很高兴听到任何形式的反馈。

0 投票
0 回答
292 浏览

c# - 仅使用 EF 进行插入/更新/删除和使用 SQL 进行查询

任何人都有使用/开发数据访问模型的经验,该模型仅将实体框架用于插入/更新/删除,将原始 SQL 用于读取/查询目的。如果有的话,您的经验如何,这种数据访问模型的优缺点是什么。

或者您是否知道任何使用这种数据访问模型的开源项目,我可以从中获得灵感。

PS:通过使用原始 SQL 进行查询,我的意思不是在业务层中使用 DataTables,而是查询和创建映射查询结果的 DTO 类。

0 投票
1 回答
360 浏览

database - Schemaspy 与敏感数据一起使用是否安全?

我目前正在研究 Microsoft SQL Server 2016 的元数据解决方案。我对使用 Schemaspy 很感兴趣。我认为它看起来像是记录元数据的一种很好的免费方式,但我担心它在拥有敏感数据的公司中使用可能不安全。

问题:使用 Schemaspy 安全吗?它可以用作入侵服务器的漏洞吗?

非常感谢您!

0 投票
1 回答
95 浏览

jdbc - 为什么数据库的编程接口称为驱动程序?

在编写更新或查询数据库的应用程序时,我们使用称为数据库驱动程序(例如 JDBC 驱动程序)的东西。我想知道为什么它被称为驱动程序而不是库?

libpq也是驱动程序吗?

0 投票
1 回答
624 浏览

postgresql - PostgreSQL 在插入带有参数的外部脚本时触发

我创建了使用参数调用外部脚本的函数:

手动执行时效果很好。但是我想每次在我的表中插入新记录时调用它(传递参数是记录值):

显然我不能将任何参数传递给该函数。如何解决?