在 运行 一个程序中创建 SQite 表
Creating SQite-tables while running a program
我在这个论坛上看到几个成员警告说当应用程序是 运行 时在数据库中创建 tables。相反,鼓励在编程时创建 tables,并且只在运行时用数据填充 tables。
例如,在创建笔记应用程序时,让用户为单个笔记指定一个名称并让该笔记在数据库中创建为 table 会很方便。这是通过在用户创建笔记时创建 table,并让笔记的名称成为 table 的名称来实现的。为什么这是一个不好的做法?我是不是误会了?
我可能没有正确理解您的问题,但在我看来,您真正想要做的是在 table 数据库中创建一个新行?
为您和此类应用程序的用户创建一个 table 来为用户可能想要添加的每个注释创建一个 table 会非常不方便。这不是它的工作方式。一个table应该包含相同类型的信息行,例如一个注释,并且每个注释应该作为一个row/record添加到所述table中。例如table应该叫做notes,如果你想给每个note起一个名字,它可以是notes table中的一列叫做name.
打个比方,如果您手动记笔记(没有电子设备),您会随身携带一个笔记本,根据需要在不同的页面上添加笔记,还是随身携带一个装满笔记本的袋子,以便每当你想添加新笔记时,你会在单独的笔记本中添加每个笔记?
在这个类比中笔记本相当于数据库tables,并且所述笔记本的页面相当于数据库中的行table。
我真的想不出在运行时创建 table 的理由。数据库结构应该是 "set in stone" 可以这么说,在运行时你应该只操作数据库中的数据,即在已经存在的 table 中添加、删除或更新 rows/records。在运行时创建 tables 是一个很大的禁忌。
我在这个论坛上看到几个成员警告说当应用程序是 运行 时在数据库中创建 tables。相反,鼓励在编程时创建 tables,并且只在运行时用数据填充 tables。
例如,在创建笔记应用程序时,让用户为单个笔记指定一个名称并让该笔记在数据库中创建为 table 会很方便。这是通过在用户创建笔记时创建 table,并让笔记的名称成为 table 的名称来实现的。为什么这是一个不好的做法?我是不是误会了?
我可能没有正确理解您的问题,但在我看来,您真正想要做的是在 table 数据库中创建一个新行?
为您和此类应用程序的用户创建一个 table 来为用户可能想要添加的每个注释创建一个 table 会非常不方便。这不是它的工作方式。一个table应该包含相同类型的信息行,例如一个注释,并且每个注释应该作为一个row/record添加到所述table中。例如table应该叫做notes,如果你想给每个note起一个名字,它可以是notes table中的一列叫做name.
打个比方,如果您手动记笔记(没有电子设备),您会随身携带一个笔记本,根据需要在不同的页面上添加笔记,还是随身携带一个装满笔记本的袋子,以便每当你想添加新笔记时,你会在单独的笔记本中添加每个笔记?
在这个类比中笔记本相当于数据库tables,并且所述笔记本的页面相当于数据库中的行table。
我真的想不出在运行时创建 table 的理由。数据库结构应该是 "set in stone" 可以这么说,在运行时你应该只操作数据库中的数据,即在已经存在的 table 中添加、删除或更新 rows/records。在运行时创建 tables 是一个很大的禁忌。