以使用QSqlQuery向数据库中插入数据为例,做一个小结

Posted 荒唐了年少

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以使用QSqlQuery向数据库中插入数据为例,做一个小结相关的知识,希望对你有一定的参考价值。

背景:

最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的

相关的函数时,我遇到了几个问题(暂时就这些):

1.向指定字段插入指定数据时,读取到的数据都是字符串类型,然而不同字段的数据类型是不同的,这

里需要获取不同字段的数据类型,再做类型转换

2.使用QSqlQuery插入数据时,具体实现的考虑

3.在实现一个功能时,是先将功能做出来,然后对一些最初未考虑到的问题慢慢补足,还是先尽可能考

虑到所有情况,再实现相关功能

4.此时某个函数的实现,是否有利于以后的优化,重构,扩展

我的尝试过的解决办法:

问题1:将用户输入的字符串切分,用QStringList保存(将被插入的数据与对应字段名,表名),取出数据

库中对应表的所有字段和该字段对应数据类型名,通过比较,得到用户输入的各个数据应被转换为的数

据类型,接着做类型转换

问题2:插入数据时,分为插入一行数据和插入多行数据,而QSqlQuery正好提供了对应的方法,但在实

现多行数据插入时,既可以使用QSqlQuery提供的插入多行数据的方法,也可以先实现插入一行数据,再

插入多行时,循环调用插入一行数据的函数

在实现插入函数时,是直接将用户输入的数据传入函数,还是先在另一个函数中对用户数据进行处理,再

传入插入函数?

使用QSqlQuery插入数据时,使用何种代码风格(ODBC等)

问题3,4:我是先实现出来,判断此时想到的实现方法是否可行,再进行修饰

具体代码等全部做完再贴吧。

 

以上是关于以使用QSqlQuery向数据库中插入数据为例,做一个小结的主要内容,如果未能解决你的问题,请参考以下文章

使用 next() 进行前向迭代的 SQLite 的 QSqlQuery 只会找到一行

QThread 向数据库发送大型查询

利用存储过程造测试数据

利用存储过程造测试数据

从多个线程使用 QSqlQuery

请问怎么在VS2008中向数据库中插入图片,我主要是想做个个人资料页面,设置一个头像,主要是ASPX和它的后