Tag: 数据库

在android中创buildSQLite数据库

我想在我的应用程序中创build一个SQLite数据库,该数据库包含三个表格,我将在表格中添加数据并稍后使用它们。 但我喜欢保持数据库,就好像当第一次安装应用程序时,它会检查数据库是否存在,如果存在,它会更新它,否则创build一个新的数据库。 进一步,我正在做一个数据库类,以方便我的应用程序,所以我不会创build一个活动,我的数据库创build。 如果有可能的build议,请与我分享

按聚合字段值sorting查询集

假设我有以下模型: class Contest: title = models.CharField( max_length = 200 ) description = models.TextField() class Image: title = models.CharField( max_length = 200 ) description = models.TextField() contest = models.ForeignKey( Contest ) user = models.ForeignKey( User ) def score( self ): return self.vote_set.all().aggregate( models.Sum( 'value' ) )[ 'value__sum' ] class Vote: value = models.SmallIntegerField() user = models.ForeignKey( […]

android.database.CursorIndexOutOfBoundsException:索引0请求,大小为0

我正在使用自定义适配器扩展游标适配器在列表视图中显示数据,以显示特定的电话号码我已经通过ID到数据库类中的方法,但它显示 errorandroid.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0 而将debugging器放在方法中不会在行之后 num = cursor.getString(cursor.getColumnIndex("ContactNumber")); 任何人都可以帮我解决这个问题吗? 这是代码: public String getNumberFromId(int id) { String num; db= this.getReadableDatabase(); Cursor cursor = db.query(scheduletable, new String[] { "ContactNumber" },"_id="+id, null, null, null, null); cursor.moveToFirst(); num = cursor.getString(cursor.getColumnIndex("ContactNumber")); cursor.close(); db.close(); return num; }

如何禁用Django查询caching?

在我的Django应用程序中,我反复在我的数据库上运行相同的查询(例如,每隔10秒)。 然后我创build一个MD5总和我收到的查询集,并将其与上一次运行中创build的MD5总和进行比较。 如果两者相同,则数据没有改变,网页不需要更新。 当我这样做时,数据库中的数据可能会改变。 但是,查询返回相同的查询集,显然是由于查询caching 。 我怎样才能禁用查询caching并明确地执行对数据库的查询?

保持密码可configuration的最佳方式是什么?不要让读者随便使用这些密码?

我有一个数据库,许多不同的客户端应用程序(一些Web服务,一些Java应用程序和几个networking应用程序)连接到。 并不是所有这些都在Windows上运行(可惜的是,否则这将使这只是一个简单的答案问题,只是启用数据库连接的Windows身份validation)。 目前,密码存储在系统周围的各种configuration/属性文件中。 理想情况下,只有支持人员才能访问正在运行文件的服务器,但是如果其他人可以访问其中一台服务器,则他们将拥有足够的数据库权限,以便按照现在的情况获得相当数量的数据。 我的问题是,保持密码可configuration的最好方法是什么? 编辑为了澄清,DB服务器是Windows Server 2003,运行MSSQL 2005。 PS:我没有看到这个重复的任何问题,但如果有的话,请随时closures这个问题。

如何从SQLite表中检索最后一个自动增加的ID?

我有一个表的消息与列ID(主键,自动增量)和内容(文本)。 我有一个用户列用户名(主键,文本)和哈希。 消息由一个发件人(用户)发送给多个收件人(用户),而收件人(用户)可以有多个消息。 我创build了一个Message_Recipients表,它有两列:MessageID(指的是Messages表和Recipient的ID列(指Users表中的username列)。这个表代表了收件人和消息之间的多对多关系。 所以,我有这个问题。 新消息的ID将在存储在数据库中之后创build。 但是我怎样才能持有我刚添加的MessageRow的引用来检索这个新的MessageID呢? 我总是可以在数据库中search当前添加的最后一行,但是可能会在multithreading环境中返回不同的行? 编辑:据我所知,SQLite你可以使用SELECT last_insert_rowid()。 但是,我怎样从ADO.Net中调用这个语句呢? 我的持久性代码(消息和消息接收者是DataTables): public void Persist(Message message) { pm_databaseDataSet.MessagesRow messagerow; messagerow=messages.AddMessagesRow(message.Sender, message.TimeSent.ToFileTime(), message.Content, message.TimeCreated.ToFileTime()); UpdateMessages(); var x = messagerow;//I hoped the messagerow would hold a //reference to the new row in the Messages table, but it does not. foreach (var recipient in message.Recipients) { var row […]

业务逻辑:数据库或应用层

古老的问题。 你应该把你的业务逻辑放在数据库中作为存储过程(或包)还是应用程序/中间层? 更重要的是,为什么? 假定数据库独立性不是目标。

使用Node.js进行同步数据库查询

我有一个Node.js / Express应用程序,用于查询path中的MySQL数据库并将结果显示给用户。 我的问题是如何运行查询和阻塞,直到两个查询完成之前,redirect用户到他们要求的网页? 在我的例子中,我有2个查询需要完成之前,我呈现的页面。 如果我在查询1的“结果”callback中嵌套查询2,则可以使查询同步运行。但是,查询数量增加时,这会变得非常复杂。 我如何去同步运行多个(在这种情况下是2)数据库查询,而不是在之前的查询的'结果'callback中嵌套后续查询? 我已经看了Node模块中的'Flow control / Async goodies',并尝试了stream程js,但我无法使它与asynchronous查询一起工作。 下面列出的是我试图从“/ home”路线执行的2个查询。 节点专家可以解释“正确”的方式来做到这一点。 app.get('/home', function (req,res) { var user_array = []; var title_array = []; // first query var sql = 'select user_name from users'; db.execute(sql) .addListener('row', function(r) { user_array.push( { user_name: r.user_name } ); }) .addListener('result', function(r) { req.session.user_array = user_array; }); […]

从sqlite数据库中删除重复的行

我有一个巨大的表 – 3600万行 – 在SQLite3。 在这个非常大的表中,有两列 散列 – 文本 d – 真实 但是,一些行是重复的。 也就是说,哈希和d都具有相同的值。 另外,如果两个哈希值相同,则d的值也是相同的,但是两个相同的ds并不意味着两个相同的哈希值 无论如何,我想删除重复的行。 我没有主键列,因为我是个白痴。 什么是最快的方法来做到这一点? 编辑: delete from dist where rowid not in (select max(rowid) from dist group by hash); 似乎做的伎俩。

如何使用Node.js Mongoose删除文档?

FBFriendModel.find({ id: 333 }, function (err, docs) { docs.remove(); //Remove all the documents that match! }); 以上似乎并没有工作。 logging还在那里。 有人可以修复?