QT连接SQLserver数据库和设置数据源名称(DSN)的方法

合集下载

QT连接SQLserver数据库和设置数据源名称(DSN)的方法

QT连接SQLserver数据库和设置数据源名称(DSN)的方法

编写外部应用程序来查询与操作数据库数据1、打“开控制面板”,找到“管理工具”。

2、进入“管理工具”,找到“数据源(ODBC)”,双击进入“ODBC 数据库管理器”。

3、点击“添加按钮”,进入“创建新数据源向导”。

4、选择数据库驱动程序,因为是微软的SQLServer数据库,所以选择驱动为SQLServer。

点击完成。

5、进入如下页面,在名称,描述,和服务器三个位置分别自己写描述信息。

需要注意的是在输入服务器的时候,服务器的名称应该在启动SqlServer数据库管理程序时的服务器名称一样。

如下图是服务器名是5F-CAD32。

点击下一步。

6、用户登录验证,选择WindowsNT验证。

也可以用ID和密码登录但是要创建用户名和密码,创建用户名和密码方法如下图。

点击下一步。

附:在SqlServer2008的客户端创建一个登录用户的方法。

把用户角色设置为public和sysadmin系统管理者。

7、选择需要用到的数据库。

下拉列表列出了所有可以连接的数据库。

8、点击下一步。

其余选项默认,点击完成就可以。

显示下面的画面点击测试,显示测试成功。

则我们的数据源DSN创建成功。

9、写外部应用程序以ODBC方式访问数据库数据(这里写的是qt程序,要注意的是~\plugins\sqldrivers\下应该有qsqlodbcd4.dll(debug)或qsqlodbc4.dll,他们是qt访问SqlServer数据库的库文件)。

#include "mainwindow.h"#include "ui_mainwindow.h"#include <QtSql/QSqlDatabase>#include <QMessageBox>#include <QSqlError>#include <QSqlQuery>#include <QDebug>{/* 方法一:通过DSN建立连接。

使用qt进行数据库访问的方法和步骤

使用qt进行数据库访问的方法和步骤

使用qt进行数据库访问的方法和步骤【标题】使用Qt进行数据库访问的方法和步骤【引言】在现代开发中,数据库是不可或缺的一部分。

Qt作为一个功能强大的跨平台开发框架,提供了灵活且易于使用的工具,使开发人员能够轻松地与数据库进行交互。

本文将深入研究使用Qt进行数据库访问的方法和步骤,帮助读者全面了解和掌握该技术。

【摘要】本文将介绍如何通过Qt使用SQL模块来操作数据库。

我们将探讨以下主题:1. 引入Qt的SQL模块;2. 建立与数据库的连接;3. 执行SQL查询和更新操作;4. 使用事务和预处理语句;5. 错误处理和调试。

通过深入的讨论和实际示例,读者将能够掌握Qt中的数据库访问技术。

【正文】一、引入Qt的SQL模块Qt的SQL模块是一个用于操作数据库的框架,支持多种数据库后端,如SQLite、MySQL、PostgreSQL等。

要使用Qt的SQL功能,我们需要在项目中引入Qt的SQL模块,并链接相应的数据库驱动程序。

要引入Qt的SQL模块,我们可以在.pro文件中添加如下代码:```QT += sql```需要注意的是,如果要使用特定的数据库后端,还需要添加相应的数据库驱动程序。

如果要使用SQLite数据库,可以在.pro文件中添加以下代码:```QT += sqlQT += sqlite```二、建立与数据库的连接在进行数据库操作之前,我们首先需要建立与数据库的连接。

Qt提供了一个QSqlDatabase类,用于管理数据库连接。

我们可以通过以下步骤建立与数据库的连接:1. 创建一个QSqlDatabase对象:```QSqlDatabase db = QSqlDatabase::addDatabase("驱动程序名称"); ```其中,"驱动程序名称"可以根据需要指定为相应的数据库后端,如"QMYSQL"、"QSQLITE"等。

配置sql server ODBC 数据源

配置sql server ODBC 数据源

配置sql server ODBC 数据源1.配置sql server ODBC 数据源在2003操作系统下配置sql server ODBC 数据源步骤,辅助调试步骤:1)第一步控制面板下选择管理工具--- ODBC 数据源,双击图标单击添加2)第二步在系统DSN选项上,单击添加按钮,出现创建数据源对话框,选择SQL server3)第三步单击完成按钮,出现创建到sql serve 数据源。

如图所示输入数据源名称、数据源描述和SQL server 所在的服务器名称或者IP 地址。

服务器名称也是sql server 所在的服务器名称,也可以是IP地址。

单击下一步4)第四步选择登陆sql server 时的身份验证方式。

并输入登陆sql server 时所用到的用户名和密码,如下图所示用户名和密码是在sql 建立的。

在sql server 数据库中选择安全性---> 登陆如图所示关键点:点击“客户端配置”,可以反复在“named pipes(P)”和“TCP/IP”调试A、软件并不用ODBC作为数据源访问数据库,安装时有时会碰到网络版连接不上数据库的情况,telnet指令测试成功!B、“TCP/IP(T)”数据源配置失败的情况下,可以在尝试“named pipes(P)”配置数据源,基本可以故障解决。

故障原因:操作系统,在日常使用中,发生改动导致。

5)第五步默认数据库是master,因测试连接,所以不用更改数据库。

然后单击下一步6)第六步按默认设置,单击完成按钮。

7)第七步这里给出了数据库连接的摘要信息,如果想测试一下是否能够连接到数据库,可以单击“测试数据源(T)”,会出现测试结果,如下图所示。

sqlserver连接数据库的方法

sqlserver连接数据库的方法

sqlserver连接数据库的方法
SQLServer连接数据库的方法有多种,具体如下:
1. 使用SQL Server Management Studio连接数据库:打开SQL Server Management Studio,输入服务器名称和身份验证信息(Windows身份验证或SQL Server身份验证),然后选择要连接的数据库。

2. 使用SQL Server数据连接向导连接数据库:打开Visual Studio等开发工具,选择SQL Server数据连接向导,输入服务器名称和身份验证信息,选择要连接的数据库,完成连接。

3. 使用ODBC连接数据库:在控制面板中打开ODBC数据源管理器,创建一个新数据源,选择SQL Server驱动程序,输入服务器名称和身份验证信息,选择要连接的数据库,完成连接。

4. 使用连接数据库:在Visual Studio等开发工具中,使用SqlConnection对象连接数据库,设置连接字符串包括服务器名称、身份验证信息和要连接的数据库名。

5. 使用Entity Framework连接数据库:在Visual Studio等开发工具中,使用Entity Framework连接数据库,设置连接字符串包括服务器名称、身份验证信息和要连接的数据库名,使用DbContext 对象操作数据库。

以上是SQL Server连接数据库的常见方法,可以根据实际情况选择合适的方法进行连接。

- 1 -。

QT连接Sqlite数据库操作

QT连接Sqlite数据库操作

1. 创建新类sqldb,会自动生成两个文件sqldb.h和sqldb.cpp(需指定其基类为QOBject):<sqldb.h>#include <QObject>#include <QSqlDatabase>class SqlDB : public Qobject{Q_OBJECTpublic:explicit SqlDB(QObject *parent = 0);void connectDB(); //创建连接函数void closeDB(); //创建关闭函数signals:private:QSqlDatabase db; //建立数据库的文件描述符};2.在sqldb.cpp中实现数据库函数的功能<sqldb.cpp>void SqlDB::connectDB(){db = QSqlDatabase::addDatabase("QSQLITE"); //添加sqlite类型的数据库db.setDatabaseName("server.s3db"); //指定数据库名为server.s3dbif (!db.open()){QMessageBox::critical(NULL, "sqlDB","connect error");return;}}void SqlDB::closeDB(){db.close();}3.在窗口中使用数据库<mainwin.h>添加头文件:#include <QSqlTableModel>#include "sqldb.h"在private:中添加数据库的打开指针和打开模式:SqlDB *db;QSqlTableModel *userModel;4.在窗口中的具体操作<mainwin.cpp>在主窗口中建立TableView控件#include "mainwin.h"#include "ui_mainwin.h"MainWin::MainWin(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWin){ui->setupUi(this);db = new SqlDB(this); //建立db->connectDB(); //连接this->userModel->clear(); //初始化用户模式this->userModel = new QSqlTableModel; //建立用户模式空间this->userModel->setTable("user"); //设置用户模式userModel->setHeaderData(0, Qt::Horizontal, "QQ");userModel->setHeaderData(1, Qt::Horizontal, "昵称");userModel->setHeaderData(2, Qt::Horizontal, "密码");userModel->setHeaderData(3, Qt::Horizontal, "IP");userModel->setHeaderData(4, Qt::Horizontal, "port");userModel->setHeaderData(5, Qt::Horizontal, "状态");this->userModel->select();this->ui->tableView->setModel(userModel);}。

sql server连接数据库的步骤

sql server连接数据库的步骤

sql server连接数据库的步骤连接SQL Server数据库主要有以下步骤:1.安装SQL Server数据库:首先需要安装SQL Server数据库软件。

可以从Microsoft官网下载SQL Server安装包,然后进行安装。

安装过程中需要选择数据库引擎组件以及相应的实例名称。

2.配置SQL Server:安装完成后,需要对SQL Server进行一些基本的配置。

包括设置服务器身份验证模式(Windows身份验证或SQL Server身份验证)、设置端口号以及配置防火墙等。

3.启动SQL Server服务:在安装完成并配置好之后,需要确保SQL Server服务已经启动。

可以通过Windows服务管理器查看并启动SQL Server服务。

4.确定数据库服务器的名称:在连接SQL Server之前,需要明确数据库服务器的名称,即实例名称。

在安装SQL Server时可以指定实例名称,如果没有指定则默认为默认实例(MSSQLSERVER)。

5.确定认证方式:连接SQL Server时可以使用Windows身份验证或SQL Server身份验证。

Windows身份验证是使用操作系统的登录凭据进行连接,SQL Server身份验证是使用用户名和密码进行连接。

6.使用SQL Server Management Studio(SSMS)连接数据库:SSMS是用于管理和操作SQL Server数据库的工具。

打开SSMS后,在连接对话框中选择服务器类型为“数据库引擎”,然后输入数据库服务器的名称和认证方式。

7.连接到数据库服务器:在SSMS中输入数据库服务器的名称和认证方式后,点击“连接”按钮进行连接。

如果连接成功,则可以开始操作数据库。

8.创建数据库:连接到数据库服务器后,可以通过SSMS创建数据库。

在SSMS的对象资源管理器中右键点击“数据库”,然后选择“新建数据库”,输入数据库名称、文件路径等信息,点击“确定”即可创建数据库。

[PyQt]PyQt5连接SQLServer数据库,并读取所有数据库名称

[PyQt]PyQt5连接SQLServer数据库,并读取所有数据库名称

[PyQt]PyQt5连接SQLServer数据库,并读取所有数据库名称PyQt5使⽤QSqlDatabase类连接数据库。

⼀般可以使⽤其静态⽅法addDatabase()来创建QSqlDatabase对象。

addDatabase()⽅法有两个参数,第⼀个参数是驱动名称字符串,⽐如“QODBC”;第⼆个参数是连接名称字符串,由⽤户⾃⾏定义,也可以省略,省略时创建默认数据库连接。

QSqlDatabase对象创建后,可以使⽤静态⽅法database()获取其引⽤,其第⼀个参数是数据库名称字符串,第⼆个参数是布尔值(默认值为True),⽤于设置是否打开数据库,如果两个参数都省略,返回默认数据库并打开。

创建数据库对象后需要对其进⾏设置,相关的设置⽅法有setHostName()、setPort()、setDatabaseName()、setUserName()、setPassword()等。

在使⽤ODBC驱动时,setDatabaseName()⽐较重要,它的参数可以是DSN名称,也可以是数据库连接字符串。

这些设置必须在数据库打开前完成,否则⽆效。

数据库对象设置完毕后,使⽤open()⽅法打开,使⽤close()⽅法关闭。

PyQt5使⽤QSqlQuery对象操作数据库。

可使⽤QSqlQuery(database)构造⽅法来创建数据库对象,如果省略参数,则使⽤默认数据库连接。

可使⽤QSqlQuery的exec()⽅法执⾏SQL语句。

举例:连接Sql Server数据库并获取所有数据库名称。

#导⼊QtSql模块from PyQt5.QtSql import QSqlDatabase, QSqlQuery#创建数据库连接并打开(未指定数据库名,创建默认连接)db = QSqlDatabase.addDatabase("QODBC")db.setDatabaseName("Driver={Sql Server};Server=localhost;Database=master;Uid=sa;Pwd=123456")db.open()#创建查询对象(使⽤默认数据库连接)query = QSqlQuery()#查询数据库名(保存在master.sys.databases表中)query.exec("Select name From sys.databases")#依次打印数据库名(系统数据库除外)while query.next():#获取名称字段的值name = query.value("name")#如果不是系统数据库,打印之if name.lower() not in ('master', 'tempdb', 'model', 'msdb'):print(name)#关闭数据库db.close()。

在Qt中使用SQLite数据库

在Qt中使用SQLite数据库

在Qt中使⽤SQLite数据库前⾔SQLite(sql)是⼀款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,⾮常适合嵌⼊式系统。

Qt5以上版本可以直接使⽤SQLite(Qt⾃带驱动)。

⽤法1 准备1. 引⼊SQL模块在Qt项⽬⽂件(.pro⽂件)中,加⼊SQL模块:QT += sql2. 引⽤头⽂件在需要使⽤SQL的类定义中,引⽤相关头⽂件。

例如:#include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>2 使⽤1. 建⽴数据库检查连接、添加数据库驱动、设置数据库名称、数据库登录⽤户名、密码。

QSqlDatabase database;if (QSqlDatabase::contains("qt_sql_default_connection")){database = QSqlDatabase::database("qt_sql_default_connection");}else{database = QSqlDatabase::addDatabase("QSQLITE");database.setDatabaseName("MyDataBase.db");database.setUserName("XingYeZhiXia");database.setPassword("123456");}上述代码解释:(1)第⼀⾏中,建⽴了⼀个QSqlDatabase对象,后续的操作要使⽤这个对象。

(2)if语句⽤来检查指定的连接(connection)是否存在。

这⾥指定的连接名称(connection name)是qt_sql_default_connection,这是Qt默认连接名称。

qt连接数据库的方法

qt连接数据库的方法

qt连接数据库的方法1. 简介Qt是一个跨平台的开发框架,提供了丰富的GUI控件和易于使用的API。

它也支持与各种数据库的连接。

在本篇文章中,我们将介绍Qt如何连接数据库。

我们将涵盖Qt 支持的各种数据库类型,例如SQLite、MySQL和PostgreSQL等。

2. SQLite数据库连接SQLite是一个轻量级的关系型数据库,可以在任何平台上使用,并且无需安装。

以下是Qt连接SQLite数据库的示例代码:```cppinclude <QCoreApplication>include <QtSql>int main(int argc, char *argv[]){QCoreApplication a(argc, argv);QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("test.db");if (!db.open()){qDebug() << "Failed to connect to database.";return 1;}qDebug() << "Database connected successfully.";// Do some database-related work heredb.close();return a.exec();}```在上面的示例中,我们首先使用`QSqlDatabase::addDatabase()`函数创建一个数据库连接,然后使用`setDatabaseName()`函数指定要连接的数据库文件的名称。

如果连接成功,则应该输出“Database connected successfully.”,否则输出“Failed to connect to database.”。

如何创建数据源名称(DSN)

如何创建数据源名称(DSN)

如何创建数据源名称(DSN)若要通过使用 ASP 页连接到数据库,必须首先在 Web 服务器上为要连接到的数据库的类型创建数据源名称 (DSN)。

为此,请使用下列方法之一。

为数据库程序创建数据源名称若要为数据库程序(如 Microsoft Access)创建 DSN,请按照下列步骤操作:1.以管理员身份登录到 Web 服务器。

2.单击开始,指向设置,然后单击控制面板。

3.双击管理工具,然后双击数据源 (ODBC)。

4.单击系统 DSN 选项卡,然后单击添加。

5.选择所需的数据库驱动程序(例如,“Microsoft Access Driver (*.mdb)[/b]”),然后单击完成。

6.在数据源名框中,键入当您在 ASP 代码中引用此 DSN 时要使用的名称。

例如,Northwind。

7.在说明框中,为 DSN 键入可选的说明。

例如,Northwind DSN。

8.单击选择。

9.在选择数据库对话框中,浏览并选择所需的数据库。

例如,Northwind.mdb。

备注:如果该数据库不在 Web 服务器上,单击网络,然后单击浏览。

找到包含该数据库的共享网络文件夹,然后单击确定。

单击完成,然后选择所需的数据库。

10.单击确定。

11.单击高级。

12.如果要在使用此 DSN 时自动提供到该数据库的登录凭据,请将它们键入到“登录名称[/b]”和密码框中。

单击确定。

13.单击确定,然后单击确定。

为数据库服务器创建数据源名称若要为 SQL Server 创建 DSN,请执行下列步骤:1.以管理员身份登录到 Web 服务器。

2.单击开始,指向设置,然后单击控制面板。

3.双击管理工具,然后双击数据源 (ODBC)。

4.单击系统 DSN 选项卡,然后单击添加。

5.选择 SQL Server,然后单击完成。

6.在名称框中,键入在 ASP 代码中引用此 DSN 时要使用的名称。

例如,Northwind。

7.在说明框中,为 DSN 键入可选的说明。

配置数据源DSN

配置数据源DSN

简单地说:1.先保证ping通(有防火墙的先关闭防火墙)2.在命令提示符下执行:telnet 192.168.28.8 1433 不会报错3.连接时使用用ip连接企业管理器4.如果不行SQL Server服务器--开始--程序--Microsoft SQL Server--服务器网络实用工具--启用WinSock代理--代理地址:(sql server服务器IP)--代理端口--1433---确定5.如果还不行,在客户端装个SQL Server客户端配置一下:开始--程序--Microsoft SQL Server--客户端网络实用工具--别名--添加--网络库选择"tcp/ip "--服务器别名输入SQL服务器名--连接参数--服务器名称中输入SQL服务器ip地址--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号SQL Server连接中的四个最常见错误:一. "SQL Server 不存在或访问被拒绝"这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.============= 首先,检查网络物理连接=============ping <服务器IP地址/服务器名称>如果ping <服务器IP地址> 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server.防火墙软件可能会屏蔽对ping,telnet 等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口. 如果ping <服务器IP地址> 成功而,ping <服务器名称> 失败则说明名字解析有问题,这时候要检查DNS 服务是否正常.有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserver2.或在SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.=======其次,使用telnet 命令检查SQL Server服务器工作状态============= telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQL Server 服务器工作正常,并且正在监听1433端口的TCP/IP 连接如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动SQL Server 服务,也可能服务器端没启用TCP/IP协议,或者服务器端没有在SQL Server 默认的端口1433上监听.=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了TCP/IP 协议等等=============可以利用SQL Server 自带的服务器网络使用工具来进行检查.点击:程序-- Microsoft SQL Server -- 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议.一般而言,我们启用命名管道以及TCP/IP 协议.点中TCP/IP 协议,选择"属性",我们可以来检查SQK Server 服务默认端口的设置一般而言,我们使用SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.============= 接下来我们要到客户端检查客户端的网络配置=============我们同样可以利用SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具.点击:程序-- Microsoft SQL Server -- 客户端网络使用工具打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.一般而言,我们同样需要启用命名管道以及TCP/IP 协议.点击TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS 文件有相似之处.通过以上几个方面的检查,基本上可以排除第一种错误.。

qt连接数据库sql server ODBC 不能正常驱动解决办法

qt连接数据库sql server ODBC 不能正常驱动解决办法

1 经过小白的两天努力终于将qt连接sql server 数据库的问题解决网上的例子几乎尝试完毕,希望我的这些能给大家些参考:Qt连接sql server ODBC不能驱动,1 第一步检查自己的目录下面有没有这样的两个文件如图:如果没有自己需要手动驱动,或则通过代码检查自己的qt是否支持对sql server的驱动代码如下所示:运行结果如下图所示:这里面是有QODBC说明是对sql server的支持,当然有的时候存在,在我们打开数据库的时候未必支持,也许你上面qsqlodbc.dll 和qsqlodbcd.dll库不是你自己的库,可能是重网上下载的,或则给别人要的,这个两个库相当重要,下面介绍如何自己编译这两个库,我是在windows 下手都编译的当然在windows下命令行也可以自己输入命令进行编译生成指定的动态库,当然啦命令行的,网上百度一大堆,下面小白自己介绍一下自己手动的生成动态库的方法:1 步骤1 入下图:进该目录下:打开.pro文件:第二步:构建->重新构建项目odbc->查看qt\qt5.6.0\5.6\Src\qtbase\plugins\sqldrivers\odbc目录下面是否有qsqlodbc.dll和qsqlodbcd.dll这两个库,如果有恭喜你构建成功,如果没有可去这个文件下面找这两个库(小编的当时就在这个文件下面)路径入下图所示:第三步骤:将搞好的库拷贝复制过来放到如下文件夹里面:点击运行就可以连接你的sql server 数据库啦以上不同的可能路径不对其他的可按步骤进行操作:也许开发环境的不同导致不能正常运行:Qt 5.6.0.32位windows server 2012 64 位系统连接sql server 2012以上简单的介绍希望对你有点帮助!再此非常感谢那位来自南京的朋友的帮助!兰亭序永和九年,岁在癸丑,暮春之初,会于会稽山阴之兰亭,修禊事也。

如何创建数据源名称(DSN)

如何创建数据源名称(DSN)

如何创建数据源名称(DSN)若要通过使用 ASP 页连接到数据库,必须首先在 Web 服务器上为要连接到的数据库的类型创建数据源名称 (DSN)。

为此,请使用下列方法之一。

为数据库程序创建数据源名称若要为数据库程序(如 Microsoft Access)创建 DSN,请按照下列步骤操作:1.以管理员身份登录到 Web 服务器。

2.单击开始,指向设置,然后单击控制面板。

3.双击管理工具,然后双击数据源 (ODBC)。

4.单击系统 DSN 选项卡,然后单击添加。

5.选择所需的数据库驱动程序(例如,“Microsoft Access Driver (*.mdb)[/b]”),然后单击完成。

6.在数据源名框中,键入当您在 ASP 代码中引用此 DSN 时要使用的名称。

例如,Northwind。

7.在说明框中,为 DSN 键入可选的说明。

例如,Northwind DSN。

8.单击选择。

9.在选择数据库对话框中,浏览并选择所需的数据库。

例如,Northwind.mdb。

备注:如果该数据库不在 Web 服务器上,单击网络,然后单击浏览。

找到包含该数据库的共享网络文件夹,然后单击确定。

单击完成,然后选择所需的数据库。

10.单击确定。

11.单击高级。

12.如果要在使用此 DSN 时自动提供到该数据库的登录凭据,请将它们键入到“登录名称[/b]”和密码框中。

单击确定。

13.单击确定,然后单击确定。

为数据库服务器创建数据源名称若要为 SQL Server 创建 DSN,请执行下列步骤:1.以管理员身份登录到 Web 服务器。

2.单击开始,指向设置,然后单击控制面板。

3.双击管理工具,然后双击数据源 (ODBC)。

4.单击系统 DSN 选项卡,然后单击添加。

5.选择 SQL Server,然后单击完成。

6.在名称框中,键入在 ASP 代码中引用此 DSN 时要使用的名称。

例如,Northwind。

7.在说明框中,为 DSN 键入可选的说明。

配置SQLServerODBC数据源

配置SQLServerODBC数据源

配置SQLServerODBC数据源■ 配置SQL Server ODBC数据源================================在XP操作系统下配置SQL Server ODBC数据源步骤,辅助调试。

第一步在控制面板下选择管理工具->ODBC数据源,双击图标出现如下界面第二步在系统DSN 选项卡片上,单击“添加(D)”按钮,出现创建新数据源对话框,选择SQL Server第三步单击第二步的“完成”按钮,出现创建到SQL Server的新数据源。

如下图所示。

输入数据源名称、数据源描述和SQL Server 所在的服务器名称或者IP地址。

服务器名称可以是SQL Server所在的机器名称,也可以是IP地址。

单击下一步按钮。

第四步选择登录SQL Server时的身份验证方式。

并输入登录SQL Server 时所用到的用户名和密码。

如下图所示。

这里的用户名和密码是在SQL Server中建立的。

在SQL Server 数据库中选择安全性->登录,如下图所示。

关键点,点击“客户端配置(T)...”按钮,可以反复在“Named Pipes(P)”和“TCP/IP(T)”调试。

故障现象:A、软件并不用ODBC作为数据源访问数据库,安装时有时会碰到网络版连接不上数据库的情况,Telnet指令测试成功!这时用ODBC 配置一下,故障解除!B、“TCP/IP(T)”数据源配置失败的情况下,可以再尝试“Named Pipes(P)”,配置数据源,基本可以故障解除!故障原因:操作系统,在日常使用中,发生较大改动所致。

第五步默认数据库是master,因测试联接,所以不用更改数据库。

然后单击下一步按钮。

第六步按默认设置,单击完成按钮。

第七步这里给出了数据库连接的摘要信息,如果想测试一下是否能够连接到数据库,可以单击“测试数据源(T)...”按钮,会出现测试结果,如下图所示。

配置sqlserverODBC

配置sqlserverODBC

配置sqlserverODBC
配置sqlserver ODBC
1.打开电脑开始菜单,在运行里出入ODBCAD32 (基于32位系统)点
击确定
2.弹出ODBC数据源管理器,选择系统DSN选项卡。

点击添加按钮
3.弹出创建新数据源窗口,选择数据源驱动程序,(SQL Server)点
击完成。

4 弹出创建到SQL Server的新数据源窗口,在名称(M):填写所要连接的数据库名称,服务器选择服务器的电脑名(如果没出来且网络通畅,请将客户端电脑设成与服务器一个IP段)
5.弹出创建到SQL Server的新数据源窗口,选择:使用用户输入登录ID和密码的SQL Server 验证。

登录ID:输入sql server 的用户名。

密码点击下一步。

6.弹出一下窗口。

勾选更改默认的数据库为按钮,选择所要连接
的数据库名。

点击下一步。

6.点击完成
7.点击测试数据源
8.显示如下标示配置成功,如果未成功重新按第一步操作。

qt连接sql server

qt连接sql server

本文示例成功运行的前提是电脑上已经运行了SQL Server并且有数据库及数据表。

1、新建工程:打开Qt Creator,File -> New File or Project,左边选择Qt Widget Project,右边选择Qt Gui Application单击Choose;填写工程名称(这里是1)及选择目录-> Next -> Next -> Next -> Finish,工程顺利生成并自动回到了主界面,单击一下左边的绿色小三角,就会编译运行这个空白的程序。

2、连接数据库:要连接数据库,就要手工向工程里面的相关文件添加代码,具体如下:1.pro:添加一行QT += sqlmain.cpp:添加引用1.#include <QApplication>2.#include "mainwindow.h"3.4.//以下是手工添加的引用5.#include <QSqlDatabase>6.#include <QSqlError>7.#include <QMessageBox>8.9.//这个是手工添加的函数10.void OpenDatabase()11.{12. QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");13. db.setDatabaseName(QString("DRIVER={SQL SERVER};"14. "SERVER=%1;" //服务器名称15. "DATABASE=%2;"//数据库名16. "UID=%3;" //登录名17. "PWD=%4;" //密码18. ).arg("192.168.1.252")19. .arg("数据库名")20. .arg("登录名")21. .arg("密码")22. );23.if (!db.open())24. {25. QMessageBox::critical(0, qApp->tr("Cannot open database"),26. stError().databaseText(), QMessageBox::Cancel);27.28. }29.}30.31.int main(int argc, char *argv[])32.{33. QApplication a(argc, argv);34. MainWindow w;35. w.show();36.37. //打开数据库38. OpenDatabase();39.40.return a.exec();41.}双击mainwindow.ui 拖一个TableView和一个PushButton到界面上,然后在PushButton上右键-> Go to slot -> OKmainwindow.cpp文件代码如下1.#include "mainwindow.h"2.#include "ui_mainwindow.h"3.4.//手工添加以下引用5.#include <QSqlQueryModel>6.7.MainWindow::MainWindow(QWidget *parent) :8. QMainWindow(parent),9. ui(new Ui::MainWindow)10.{11. ui->setupUi(this);12.}13.14.MainWindow::~MainWindow()15.{16.delete ui;17.}18.19.void MainWindow::on_pushButton_clicked()20.{21. QSqlQueryModel *model = new QSqlQueryModel;22. model->setQuery("select * from product");//这里直接设置SQL语句,忽略最后一个参数23. ui->tableView->setModel(model);24.25. //以下是视觉方面的效果,不加也没影响26.27. //隔行变色28. ui->tableView->setAlternatingRowColors(true);29.30. //设置行高31.int row_count = model->rowCount();32.for(int i =0; i < row_count; i++)33. {34. ui->tableView->setRowHeight(i, 20);35. }36.}3、保存并运行:保存所有代码,单击左边绿色三角形编译运行单击顺利运行弹出的窗体上的按钮,顺利查询出数据库记录!。

sqlserver数据库连接方式分析、详解

sqlserver数据库连接方式分析、详解

sqlserver数据库连接⽅式分析、详解先画⼀张概况图*OLEDB⽅式连接Sql⾝份验证模式:Provider="SQLOLEDB;data source=server_name;initialcatalog=databasename;uid=username;pwd=password;"Windows⾝份验证模式:ConnectString=”Provider=SQLOLEDB;Data Source=server_name;DataBase=databasename; Integrated Security=SSPI;Persist Security=true”注释:(此两种⽅式的却别仅在于windows验证中⽤Integrated Security=SSPI代替了sql验证中的uid=username;pwd=password语句(即指明⽤户名、密码语句))1.Provider=SQLOLEDB:提供者为SQLOLEDB(此为固定)2.Integrated Security=SSPI:集成安全机制采⽤SSPISSPI是Security Support Provider Interface(Microsoft安全⽀持提供器接⼝)SSPI是定义得较全⾯的公⽤API,⽤来获得验证、信息完整性、信息隐私等集成安全服务,以及⽤于所有分布式应⽤程序协议的安全⽅⾯的服务。

设置Integrated Security为 True 的时候,采⽤windows⾝份验证模式。

只有设置为 False 或省略该项的时候,采⽤UserID, PWD 来连接。

Integrated Security 可以设置为: True, false, yes, no ,还可以设置为:sspi ,相当于 True,建议⽤这个代替 True。

3.Persist Security Info:坚持安全信息Persist Security Info属性的意思是表⽰是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表⽰保存,False表⽰不保存.ADO缺省为False(即可有可⽆).总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防⽌后门程序取得数据库连接的密码.4.initial catalog等同于database(可以互换):指定连接数据库的名字(如果省略则连接的是当前⽤户名的默认数据库,详情见下⽂)5.DATA SOURCE是SQL服务器的名字在data source⾥⽤localhost或(local)或“.”都代表本地服务器. 也可⽤本机的外⽹IP地址例如:data source=192.168.24.71; *ODBC⽅式连接使⽤数据源⽅式:此种⽅式主要是配置odbc数据源,有三种⽅式,系统dsn、⽤户dsn、⽂件dsn。

使用qt进行数据库访问的方法和步骤

使用qt进行数据库访问的方法和步骤

使用Qt进行数据库访问的方法和步骤1. 引言在现代软件开发中,数据库访问是一个非常重要的环节。

Qt作为一个跨评台的应用程序开发框架,提供了丰富且易用的数据库访问功能,能够帮助开发人员快速、高效完成数据库操作。

本文将深入探讨使用Qt进行数据库访问的方法和步骤,旨在帮助读者全面了解Qt数据库模块的使用。

2. 概述Qt数据库模块Qt提供了QtSql模块来实现对数据库的访问,它支持多种数据库,包括SQLite、MySQL、PostgreSQL等。

QtSql模块提供了一些类和函数,用于连接数据库、执行SQL语句、处理查询结果等操作。

使用Qt 进行数据库访问的一般步骤包括连接数据库、执行SQL语句、处理查询结果和关闭数据库连接。

3. 连接数据库在使用Qt进行数据库访问前,首先需要建立与数据库的连接。

连接数据库的过程包括选择数据库驱动、设置连接参数、打开数据库连接等步骤。

以下是连接数据库的示例代码:```cpp// 选择数据库驱动QSqlDatabase db = QSqlDatabase::aDatabase("QMYSQL");// 设置连接参数db.setHostName("localhost");db.setDatabaseName("mydb");db.setUserName("user1");db.setPassword("123456");// 打开数据库连接if(db.open()) {qDebug() << "Database connected!";} else {qDebug() << "Database connection failed!";}```4. 执行SQL语句连接成功后,就可以执行SQL语句对数据库进行操作。

Qt提供了QSqlQuery类来执行SQL语句,并可以获取执行结果。

建立SqlServer数据库及配置ODBC

建立SqlServer数据库及配置ODBC

一.在SQL SERVER中建立dh_carteen的数据库1.1在SQL SERVER中查询分析器中
1.2打开creat_table4d3.sql文件
1.3执行程序生成Dh_carteen数据库
1.4.1 如图1运行SQL企业管理器
图1
1.4.2 如图2 选中logins 下的用户dh_carteen,按右键如图3示
图2
1.4.3 如图3示将数据库dh_carteen 授权给dh_carteen用户,按[确定]
点击,再点击。

图3
二.Windows 2000下配置ODBC步骤:
2.1 打开‘我的电脑’----‘控制面板’----‘管理工具’----‘数据源ODBC’
如图4
图4
2.2按<添加>,如图5所示
图5
2.3按[完成],如图6所示
图6
2.4按<下一步>,输入登录ID ‘dh_carteen’密码‘89321’按<下一步>,如图1.4所示
图7
2.5 按<下一步>,改变默认的数据库为‘dh_carteen’,如图8所示
图8
2.6 按<下一步> ,按< 完成>,如图9所示
图9
2.7 按<测试数据源>,如图10所示
图10
三.数据库还原后授权步骤3.1 如图11
3.2 重复1.
4.1 至1.4.5 给用户DH_caarteen授权。

SQLServer数据库连接方法

SQLServer数据库连接方法

SQLServer数据库连接⽅法我们⽤c#写ado或者是asp,都需要连接数据库来读写数据,今天我们就来总结⼀下数据库连接都有哪些⽅法。

⾸先我们就写最直接的⽅法,在事件中直接连接。

(在这⾥就⽤WEB页⾯来展⽰)⾸先我们建⽴web页⾯,简单的两个textbox控件和⼀个button控件就可以了。

为了配置数据⽅便,我们在添加⼀个DataSource配置数据源就是为了配置web.config⾥⾯的Configuration⼦节点connectionStrings<connectionStrings><add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\asp\DataLogin\DataLogin\App_Data\UserData.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /></connectionStrings>我们可以⾃⼰配置,但是在dataSource⾥⾯直接配置我觉得简单⼀点,也不⽤在记这些配置内容了。

下⾯我们就开始直接连接数据库了。

string username=Username.Text.Trim();string password = Password.Text.Trim()SqlDataReader dr;System.Data.SqlClient.SqlConnection conn = new SqlConnection();conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;//新建sqlCommand对象SqlCommand cmd = new SqlCommand();cmd.Connection = conn;mandText = "SELECT [pass] FROM [UserInf] WHERE name=@loginname";mandType = CommandType.StoredProcedure; //CommandType.Text;//添加查询参数对象,并给参数赋值SqlParameter para = new SqlParameter("@loginname", SqlDbType.NVarChar,50);para.Value = username;cmd.Parameters.Add(para);try{conn.Open();//SqlCommand Cmd = new SqlCommand();dr = cmd.ExecuteReader();// 将检索的记录⾏填充到DataReader对象中if (dr.Read()){if (dr.GetString(0).Trim() == password){// 登录成功后记下该⽤户登录名,以便后续功能使⽤Session.Add("username", username);Username.Text = "";Response.Write("恭喜你,你已登录成功!");}else{Response.Write("⽤户名或者密码错误!");}}else{Response.Write("对不起,⽤户不存在!");}}catch (SqlException sqlException){Response.Write(sqlException.Message); // 显⽰连接异常信息}finally{if (conn.State == ConnectionState.Open)conn.Close();}这种连接数据库登陆的⽅式最直接,但是也最不容易维护,接下来我们就⽤添加helper类的⽅式连接数据库。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编写外部应用程序来查询与操作数据库数据1、打“开控制面板”,找到“管理工具”。

2、进入“管理工具”,找到“数据源(ODBC)”,双击进入“ODBC 数据库管理器”。

3、点击“添加按钮”,进入“创建新数据源向导”。

4、选择数据库驱动程序,因为是微软的SQLServer数据库,所以选择驱动为SQLServer。

点击完成。

5、进入如下页面,在名称,描述,和服务器三个位置分别自己写描述信息。

需要注意的是在输入服务器的时候,服务器的名称应该在启动SqlServer数据库管理程序时的服务器名称一样。

如下图是服务器名是5F-CAD32。

点击下一步。

6、用户登录验证,选择WindowsNT验证。

也可以用ID和密码登录但是要创建用户名和密码,创建用户名和密码方法如下图。

点击下一步。

附:在SqlServer2008的客户端创建一个登录用户的方法。

把用户角色设置为public和sysadmin系统管理者。

7、选择需要用到的数据库。

下拉列表列出了所有可以连接的数据库。

8、点击下一步。

其余选项默认,点击完成就可以。

显示下面的画面点击测试,显示测试成功。

则我们的数据源DSN创建成功。

9、写外部应用程序以ODBC方式访问数据库数据(这里写的是qt程序,要注意的是~\plugins\sqldrivers\下应该有qsqlodbcd4.dll(debug)或qsqlodbc4.dll,他们是qt访问SqlServer数据库的库文件)。

#include "mainwindow.h"#include "ui_mainwindow.h"#include <QtSql/QSqlDatabase>#include <QMessageBox>#include <QSqlError>#include <QSqlQuery>#include <QDebug>{/* 方法一:通过DSN建立连接。

DSN即数据源名称。

//下面例子sql server上的MessageFile数据库上。

程序中指定此连接的名称为dbTemp,可以随便写。

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", "dbTemp");//指定数据源名称为:MSSQLServerQString dsn = QString::fromLocal8Bit("MSSQLServer");db.setDatabaseName(dsn);if(!db.open()) {QMessageBox::about(0, QObject::tr("Database Error"),stError().text());//如果dsn名设错,将会在db.open()时出现“[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified QODBC3: Unable to connect”//“[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序QODBC3: Unable to connect”错误。

}*///* 方法二:通过主机名和用户名密码来建立连接。

//下面例子连接到 172.26.5.51 上的sql server名为test的数据库上。

程序中指定此连接的名称为dbTemp,可以随便写。

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", "dbTemp2");//指定服务器主机的IP地址,即数据库在哪个电脑上。

可以是自己电脑的IP地址。

db.setHostName("172.26.5.51");//ODBC连接SQL Server驱动的格式。

"Driver={sqlserver};server=servername;database=dbname;uid=sa;pwd=pass;"QString dsn = QString::fromLocal8Bit("DRIVER={SQLSERVER};SERVER=172.26.5.51;DATABASE=test");//如果已经设定DSN,可以写为QString::fromLocal8Bit("DSN数据源名称")db.setDatabaseName(dsn);//即使dsn中已经设置了UID和PASSWD,仍然需要执行setUserName和setPassword的步骤//还要注意这里的用户名要有创建表的权限,不然创建下面的表student会不成功。

db.setUserName("aisq");db.setPassword("aisq");if(!db.open()) {QMessageBox::about(0, QObject::tr("Database Error"),stError().text());}//*/else{QSqlQuery query(db); //以下执行相关 sql语句query.exec("if exists student drop student");query.exec("create table student(id int primary key,name varchar(20))");query.exec("insert into student values(2,'xiafang')");query.exec("insert into student values(7,'wanghua')");query.exec("insert into student values(3,'aisq')");query.exec("insert into student values(4,'fucan')");query.exec("select id,name from student where id>=2");while(query.next()){int id=query.value(0).toInt(); //query.value(0)中0表示第一个字段的值,即是id的值QString name=query.value(1).toString().trimmed();qDebug()<<"id="<<id<<" "<<"name="<<name<<endl;}}db.close();}附:ODBC连接适合数据库类型连接方式access "Driver={microsoft accessdriver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"dBase "Driver={microsoft dbasedriver(*.dbf)};driverid=277;dbq=------------;"oracle "Driver={microsoft odbc fororacle};server=oraclesever.world;uid=admin;pwd=pass;"MSSQL server "Driver={sqlserver};server=servername;database=dbname;uid=sa;pwd=pass;"MS text "Driver={microsoft text driver(*.txt;*.csv)};dbq=-----;extensions=asc,csv,tab,txt;PersistSecurityInfo=false;"Visual Foxpro "Driver={microsoft Visual Foxprodriver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"SQLite "Driver={SQLite3 ODBC Driver};Database=D:\SQLite\*.db"PostgreSQL "Driver={PostgreSQLANSI};server=127.0.0.1;uid=admin;pwd=pass;database=databaseName"OLEDB连接适合的数据库类型连接方式access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;userid=admin;password=pass;"oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;" MS SQL Server "Provider=SQLOLEDB;data source=machinename;initialcatalog=dbname;userid=sa;password=pass;"MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties'text;FMT=Delimited'"参考:/community/forums/topic.asp?topic_id=523765/bbs/read.php?tid=12414/bbs/read.php?tid=7197&keyword=SQL%20Server。

相关文档
最新文档