是否可以只使用一个游标来执行数据库的所有操作?

时间:2018-02-21 20:10:42

标签: python database sqlite

我有一个程序,它必须与数据库一起工作(它可以在几个线程中工作)。我写了一个特殊的课程,从以下开始:

import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';

import { MatPaginator, MatTableDataSource, MatSort } from '@angular/material';

import { Observable } from 'rxjs/Observable';

import { AngularFireDatabase } from 'angularfire2/database';

import { AngularFirestore, AngularFirestoreCollection } from 'angularfire2/firestore';

@Component({
  selector: 'app-expense-list',
  templateUrl: './expense-list.component.html',
  styleUrls: ['./expense-list.component.scss']
})

export class ExpenseListComponent implements OnInit, AfterViewInit {

  tableColumns = [ 'id' ];

  expenses: any[];

  constructor(private db: AngularFirestore) {
    this.expenses = this.db.collection('/expenses').valueChanges();
  }

  ngOnInit() {

  }

  ngAfterViewInit() {

  }

  viewExpense(row) {
    console.log('viewExpense(' + row.id + '): ', row);
  }

}

可以使用这样的课程吗?或者我应该采用另一种方式并使用少量游标?我的程序现在工作正常,我没有注意到任何问题,但我不确定它是否会导致未来的大问题

1 个答案:

答案 0 :(得分:0)

我有sqlite3在课堂上工作,我不需要自己编辑。我喜欢它...

connection = sqlite3.connect("some_db.db")
c = connection.cursor()

是的,我觉得很好,直到你需要多个数据库,你需要做的只是命名连接和游标不同的东西......

connection2 = sqlite3.connect("another_db.db")
c2 = connection2.cursor()

您也可以让它们同时运行。只要记住在你不再需要它们时提交和关闭。