Tag: 数据库

Androidunit testing需要上下文

我正在编写我的第一个Android数据库后端,我很努力地unit testing我的数据库的创build。 目前我遇到的问题是获取一个有效的上下文对象传递给我的SQLiteOpenHelper的实现。 有没有一种方法来获取扩展TestCase的类中的一个Context对象? 我想到的解决scheme是在我的TestCase的setup方法中实例化Activity,然后将该Activity的Context分配给我的testing方法可以访问的字段variables…但似乎应该有一个更简单的方法。 感谢您的input! 梅西

ORDER BY子句在视图,内联函数,派生表,子查询和公用表expression式中是无效的

ORDER BY子句在视图,内联函数,派生表,子查询和公用表expression式中是无效的,除非还指定了TOP,OFFSET或FOR XML。 我正在尝试执行以下查询时遇到上述错误。 任何人都可以请看看,并告诉我我在这里做错了什么? SELECT * FROM ( SELECT Stockmain.VRNOA, item.description as item_description, party.name as party_name, stockmain.vrdate, stockdetail.qty, stockdetail.rate, stockdetail.amount, ROW_NUMBER() OVER (ORDER BY VRDATE) AS RowNum FROM StockMain INNER JOIN StockDetail ON StockMain.stid = StockDetail.stid INNER JOIN party ON party.party_id = stockmain.party_id INNER JOIN item ON item.item_id = stockdetail.item_id WHERE stockmain.etype='purchase' ORDER BY […]

我如何才能在SQL Server Management Studio中运行我的光标所在的语句?

作为Oracle用户的一个长时间的Toad,我已经习惯了按Ctrl + Enter,并且只有光标下的语句被执行。 在SQL Server Management Studio中,按F5运行整个脚本。 为了只运行当前的语句,我必须手动突出显示我想要的语句,然后按F5键。 对我来说真的很烦人 有没有人知道一个键盘快捷键的工具只运行SQL Server上的当前语句? 我会改变这个function的工具。 注意:奇怪的是,即使免费的Toad for SQL Server也不能让你只运行光标下的语句。

如何使用Oracle SQL Developer导出数据?

如何使用SQL Developer导出Oracle DB数据? 我需要所有的数据,表格,约束,结构等等。

要求在面试中看到雇主的代码/数据库

我被要求在面试中写代码/devise的东西。 有时甚至提供代码示例。 非常合理,非常明智(总是感到惊讶,当这不会发生) 我在一年左右的时间里有一份工作,如果我看到了我不得不提前处理的那个烂摊子,那么代码太糟糕了,我不会拿这份工作。 我不能告诉你有多less可怕的数据库,我不得不合作。 请问他们提供一个代码示例并查看他们的数据库devise是否不可能? 假设我很乐意签署NDA,我觉得我的一部分人觉得如果不检查我将要使用的代码库或数据库,就会疯狂地找一份工作。 任何人这样做? 更新 如果事情进展顺利的话,我会在面试过程中稍后再提出这个问题。 这也是在小商店或小型项目中工作的情况,因为我倾向于避免使用诸如“让开发者离开地板”

如何使用ContentValues将android sqlite数据库列值更新为null?

例如,我想在数据库更新上执行以下操作。 有没有一个常数,我可以使用而不是null ,如果我使用它不会编译,如: ContentValues args = new ContentValues(); args.put(KEY_RISK_AMOUNT, null); // what constant do I use instead of null?

MySql视图性能

如果你正在使用视图的道路,你如何确保良好的performance? 还是最好不要在第一时间使用视图,而只是将相应的语句合并到您的select语句中?

Xml或Sqlite,何时删除数据库的Xml?

我真的很喜欢保存数据的Xml,但是什么时候sqlite /数据库成为更好的select? 例如,当xml有多于x个项目或大于y MB? 我正在编码一个rss阅读器,我相信我在使用XML的sqlite数据库来存储所有的饲料项目caching的错误select。 有一些饲料在一个月后有一个〜1mb的xml文件,另一个有700多个项目,而大多数只有30个项目,几个月后大小约为50kb。 我目前没有计划实施上限,因为我喜欢能够search所有东西。 所以,我的问题是: 什么时候sqlite /数据库的开销合理的使用XML? 是有几个大的XML文件 ,当有很多小的数据库足够的理由,但即使是小的将随着时间的推移增长? (很长一段时间) 更新 (更多信息) 每次在GUI中select一个订阅源时,我都会重新加载该订阅源XML文件中的所有项目。 我还需要修改读取/未读状态,当我循环访问xml中的所有节点以查找该项目,然后将其设置为读取/未读时,这看起来真的很糟糕。

在数据库中存储媒体文件的最佳方式是什么?

我想在数据库中存储大量的声音文件,但我不知道这是否是一个好的做法。 我想知道这样做的利弊。 我也想过有可能与这些文件有“联系”,但是这可能会带来比解决scheme更多的问题。 任何在这方面的经验都会受到欢迎:) 注意:数据库将是MySQL。

为什么在其他唯一字段存在时使用自动递增主键?

我正在学习一门叫做“数据库系统”的课程,对于我们的课程项目,我必须devise一个网站。 这是我创build的一个表格的例子: CREATE TABLE users ( uid INT NOT NULL AUTO_INCREMENT, username VARCHAR(60), passhash VARCHAR(255), email VARCHAR(60), rdate DATE, PRIMARY KEY(uid) ); 教授告诉我“用户名”(用户名)是完全无用的和不必要的,我应该使用用户名作为主键,因为没有两个用户可以有相同的用户名。 我告诉他,这对我来说很方便,因为当我打电话给domain.com/viewuser?id=5时,我只需要检查参数: is_numeric($_GET['id']) …不用说他不相信。 由于我在很多教程中看到了user_id和其他类似的属性(thread_id,comment_id等等),并且正在查看stream行软件(例如vbulletin)的数据库模式,所以还有很多其他的(更强的)原因。 所以我的问题是:你如何certificate需要一个非空自动递增的id作为主键vs使用另一个属性,如用户名?