问题标签 [data-access]

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 投票
8 回答
15472 浏览

java - 简单的 jdbc 包装器

为了在我们的应用程序中实现数据访问代码,我们需要一些框架来包装 jdbc(ORM 不是我们的选择,因为可扩展性)。

我曾经使用过的最酷的框架是Spring-Jdbc。但是我公司的策略是避免外部依赖,尤其是spring,J2EE等。所以我们正在考虑写自己的手办jdbc框架,功能类似于Spring-jdbc:行映射,错误处理,支持java5的特性,但没有事务支持。

有没有人有编写这样的 jdbc 包装器框架的经验?如果有人有使用其他 jdbc 包装器框架的经验,请分享您的经验。

提前致谢。

0 投票
3 回答
1615 浏览

php - 这是 PHP 数组访问的错误吗?

我遇到了这个错误,其中数组的元素,如果它的索引是字符串“0”,是不可访问的。

这也不是反序列化的错误,因为这发生在我的代码中而没有调用它。

我在这里做错了吗?如何访问数组的这个元素?

0 投票
13 回答
8274 浏览

search - O(1) 怎么了?

在讨论涉及散列和搜索类型的算法时,我注意到 O(1) 的一些非常奇怪的用法,通常是在使用语言系统提供的字典类型或使用数组使用的字典或散列数组类型的上下文中-索引符号。

基本上,O(1) 意味着以恒定时间和(通常)固定空间为界。一些非常基本的操作是 O(1),尽管使用中间语言和特殊 VM 往往会扭曲这里的想法(例如,如何将垃圾收集器和其他动态过程摊销到 O(1) 活动中)。

但是忽略延迟、垃圾收集等的摊销,我仍然不明白如何假设某些涉及某种搜索的技术可以是 O(1),除非在非常特殊的条件下。

尽管我之前已经注意到这一点,但Pandincus 问题中刚刚出现了一个示例,“'Proper' collection to use to get items in O(1) time in C# .NET?” .

正如我在那里所说,我所知道的唯一提供 O(1) 访问作为保证边界的集合是具有整数索引值的固定边界数组。假设是该数组是通过一些映射到随机存取存储器来实现的,该映射使用 O(1) 操作来定位具有该索引的单元格。

对于涉及某种搜索以确定不同类型索引(或具有整数索引的稀疏数组)的匹配单元格位置的集合,生活并不容易。特别是,如果存在冲突并且可能出现拥塞,则访问不完全是 O(1)。而且,如果集合是灵活的,则必须认识到并摊销扩展底层结构(例如树或哈希表)的成本,以缓解拥塞(例如,高碰撞发生率或树不平衡)。

我从来没有想过将这些灵活和动态的结构称为 O(1)。然而,我看到它们作为 O(1) 解决方案提供,而没有任何确定必须保持的条件才能确保实际具有 O(1) 访问(并且该常数小到可以忽略不计)。

问题:所有这些准备都是为了一个问题。O(1) 周围的随意性是什么?为什么如此盲目地接受它?是否认识到即使 O(1) 也可能非常大,即使接近恒定?还是 O(1) 只是将计算复杂性概念用于非正式使用?我很困惑。

更新:答案和评论指出了我自己定义 O(1) 的随意之处,我已经修复了它。我仍在寻找好的答案,在某些情况下,一些评论线程比他们的答案更有趣。

0 投票
2 回答
562 浏览

sql-server - Generic Data Access functions

What is the best way to code the following generic data access functions (ADO.NET, C# or VB, SQLServer or OLEDB)

  1. Execute SQL on a connection
  2. Open a DataReader
  3. Open a DataSet (any ideas on this one?)

Such that I can call these functions from anywhere in my program. I'm not interested in Data Access patterns or Data Access layers unless they directly apply to these functions. (i.e. a pattern to automatically close the connection or the reader/dataset)

Examples of use

Example functions

0 投票
1 回答
180 浏览

asp.net - 使用数据模块 --- pass-Store-use a connection inside a可重用的数据模块

我想将站点的数据模块分成一个程序集(单个 dll 文件),在处理 Web 应用程序时获取存储和传递站点的ConnectionString的最佳方法是什么。在数据程序集中,我创建了一个名为 ConnectionManager 的静态类。它有一个名为DatabaseConnectionName的属性 ,我想传递并存储位于 Web.Config 文件中的连接名称。在这个策略中,我决定在网站的加载时间在 Global.asax 文件中获取名称并建立连接,并在我之前提到的属性 (DatabaseConnectionName) 中进行连接。但是,这只是我使用的策略,我不知道做这项工作的常见模式是什么。

部分代码: ======================================= [ -------- ---- Global.asax ------------ ]

[ ------------ ConnectionManager Class ------------ ] 这是在数据模块中,除了站点

==结束================================================ =============

--- 问题是: ---

  1. 在哪里存储连接?(这是 ConnectionManager 类中的一个属性,theCompany.Data.ConnectionManager.DatabaseConnectionName)

  2. 什么时候建立这种联系?(这里是 Global.asax 应用程序加载时间)

  3. 哪种方法最适合存储此类信息:SessionState 或 ViewState 或简单属性

  4. 这个策略好不好?你知道任何更好的方法或常见的模式吗?

感谢您提供任何信息 - MHM -

0 投票
4 回答
2877 浏览

c++ - C++ 访问堆

这个问题涉及到我对 C++ 的了解不够。我正在尝试访问我放置在堆中的特定值,但我不确定如何访问它。在我的问题中,我从对象的数据成员函数中将一个值放入堆中,并且我试图在另一个数据成员函数中访问它。问题是我不知道怎么做,我在网上搜索了一些例子,但没有一个是我需要的,因为它们都在 int main() 中,并不是我特别需要的。

在第一个数据成员函数中,我声明了我要发送到 Heap 的值;这是我的第一个数据成员函数的示例。

而在数据成员函数中这是想要的:

我觉得问很愚蠢,但我找不到答案,也不知道怎么做。有谁知道如何以简单的方式从堆中访问一个值?而且我需要它能够访问两个以上的数据成员函数。

0 投票
2 回答
1245 浏览

c# - Silverlight:访问企业数据的最佳实践

我开始为我公司的一个新项目整理一份系统架构文档。基本上,我们有一个相当大的业务层,它遵循企业库数据模式,我需要从一个新的 silverlight 应用程序访问这些数据对象。

我的问题是在 Silverlight 中访问这些对象的最佳方法是什么?我最初的想法是使用 WCF,但我不确定如何最好地重建客户端中的对象。

0 投票
2 回答
950 浏览

php - 设置数据库和访问控制权限

我是使用 PHP 和 MySQL 创建 Web 应用程序的团队的一员。该应用程序将有多个具有不同角色的用户。该应用程序还将以地理分布的方式使用。

因此,我们需要创建一个访问控制系统来控制特定数据库记录的用户权限,即修改数据库查询以便只显示特定记录。例如,对于城市级别的用户,只应显示与用户的特定城市相关的记录,而对于国家级别的用户,应显示该国所有城市的记录。

我需要帮助设计一个可以处理此类信息检索的系统,而无需对 SQL 查询中的信息进行硬编码。

任何帮助,将不胜感激。

提前致谢

0 投票
1 回答
620 浏览

flash - Flash 服务器端共享对象 - LSO

Adobe docs (我找不到哪个)声明 Flash 可以从服务器读取共享对象(.SOL 文件?)。这可能是一种在客户端存储数据和检索数据的有趣方式。关于如何做到这一点的任何想法?

0 投票
2 回答
3772 浏览

java - 如何在 IoC 容器外进行简单的 Spring JDBC 事务?

我正在处理的项目在其所有样板荣耀中使用直接 JDBC 数据访问,并且不使用任何事务。我觉得使用事务和简化数据访问方法的编写方式很重要,尤其是当前正在进行一些更改。该项目已经存在了很长一段时间,不适合 ORM 框架。它还使用了很多单例(呃),并且解开它以使其能够使用依赖注入将是相当多的工作,我认为我无法说服任何人我们现在应该这样做。

我喜欢 Spring JDBC 的接口,特别是通过它的SimpleJdbcTemplate. 我的问题是如何为此启用一些简单的(每个 servlet 请求)事务,而无需在每个数据访问方法中以编程方式设置任何内容或使用 Spring IoC 容器或 AOP。我玩弄了自己的架构,最终得到一个类似于 's 的接口,并且当在请求的上下文中调用它时(通过 a和 a )SimpleJdbcTemplate,可以使用单个请求本地连接和事务。它似乎工作得很好,但我认为使用像 Spring JDBC 这样的好的外部库会更好。ServletRequestListenerThreadLocal

有人对此有经验吗?