(1)移植freetds和unixODBC时,要将配置选项iconv设置为disable。具体来说,unixODBC的配置选项中一定要有--disable-iconv,freetds的配置选项中一定要有--disable-libiconv。这样做可以避免ODBC和ODBC驱动进行字符集的自动转换,从而避免出现无法预见的字符集不兼容问题。

(2)QT为世界上多数语系提供广泛支持。在编写QT程序时一定要在主程序中添加相关代码,定义好程序的字符编码类型。如果希望应用程序用UTF8编码,可以添加如下代码:

QTextCodec::setCodecForLocale(QTextCodec::codecForName

(“UTF8”));

QTextCodec::setCodecForCStrings(QTextCodec::codecForName

(“UTF8”));

QTextCodec::setCodecForTr (QTextCodec::codecForName

(“UTF8”));

3.3 数据库的连接与检索

为了实现数据库的连接,需对freetds和unixODBC进行必要的配置。这可以通过修改freetds.conf文件、odbc.ini和odbcinst.ini文件来实现,这些文件分别在各自的安装目录下。有了unixODBC和freetds的支持,通过QT的ODBC库QODBC就可以访问Windows XP下的SQL Server数据库了。

QSqlDatabase db=QSqlDatabase::addDatabase(“QODBC”);

db.setDatabaseName(“dbHospital”);

db.setUserName(QString(“BME”));

db.setPassword(QString(“123456”));

db.setConnectOptions(“SQL_ATTR_ODBC_VERSION=

SQL_OV_ODBC3”);

由于QODBC会自动调用unixODBC和freetds的配置文件,所以不用调用setHostName()函数单独设置数据主机名。实现了数据库的连接,数据库的检索就相对简单了。QSqlQuery提供了一套检索数据库的简单方式。

4 实验与讨论

经实验验证,该导医系统能够正确接收有源RFID标签发射的病人ID号,并以此发起数据库检索,检索得到病人就医的相关信息后在终端上显示导引信息。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查