您的位置:首页 > 编程语言 > Qt开发

【傻瓜式】QT5+sql server(ODBC)创建数据源并且连接数据库

2016-01-03 19:59 531 查看
qt5.5 msvc + sql server2008

登录ID:SQLproject

登录密码:mylocalhost

服务器ID:DELL-PC

数据库名:PhoneCount

数据库用户配置,首先创建个数据库 PhoneCount,【请忽略课程设计的名字~】

用户名字为SQLproject



接着



勾选之前创建的数据库



确认状态无误



如果出现错误18456那么检查下自己数据库授权以及登录方式





然后退出当前windows用户验证的登录

用刚才创建的用户登录还要注意这里的用户名要有创建表的权限,不然创建下面的表student会不成功



忘记登录截图了,但是登录是很简单的,因为是第一次登录,sql会要求你重新设置密码,也就是刚才创建用户设置的密码会取消了,然后设置新密码,那么登录就OK了。



那么接下来就是配置qt这边的数据源了。

打开电脑上的【数据源】ODBC



接着



然后输入我们刚才创建的用户

用户名:SQLproject

密码:localhost



然后更改默认数据库为刚才创建的数据库PhoneCount





然后

采用默认设置不需要修改。如果需要修改可以做适当调整比如加密保存文件路径之类的。

点击完成即可

最后测试数据源~弹出测试成功,So Nice。



然后在数据源之中(ODBC)



参考博客

http://blog.sina.com.cn/s/blog_a07a3f180101dg4g.html

百科

http://jingyan.baidu.com/article/86fae346ba946f3c49121a0e.html

http://jingyan.baidu.com/article/656db918faf80fe381249c1e.html

然后连接上去做测试的时候出现了



那么这时候你就要到自己的保存文件目录下去删除生成的debug/release文件。

查询相关驱动有没有装好

.pro中添加 QT += sql



用户信息表
create tablephoneuser(
nmae char(8)notnull,
phone char(11)not
null,
addr char(8) notnull,
ID char(18) notnull
primary key

insert phoneuser(name,phone,addr,ID)
values ('李华','18060843577','福建闽江','3522199807120049')
);

若数据库没有打开那么是无法添加的,但是可以查询数据库已有的信息。

管理员信息表

create tableadministrators(
number char(8)primarykey,
name char(10),
password
char (8)
)

insert administrators(number,name,password)
values ('313106','manage','123456')

用Qstring中的arg替换字符串非常好用

Qstring("Insertintophoneuservalues('%1','%2','%3','%4')")

//连接数据库
QSqlDatabasedb=QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName(QString("DRIVER={SQLSERVER};"
"SERVER=%1;" //servername
"DATABASE=%2;" //sqlname
"UID=%3;" //loadid
"PWD=%4;" //password
).arg("DELL-PC")
.arg("PhoneCount")
.arg("SQLproject")
.arg("mylocalhost")
);

if(!db.open())
{
//QMessageBox::about(this,"DatabaseError",db.lastError().text());
qDebug()<<"DatabaseError";
qDebug()<<db.lastError();
}

//DELL-PC 电脑名字

//PhoneCout 数据库名字

//SQLproject 登录的用户名

//mylocalhost 登录用户的密码

create tablecharge(
name char(8)notnull,
Phone char(11)notnull
primary key,
blance floatnotnull,
receiveble
float not null,
receipts
float not null
);

create tablebill(
Phone char(11)not
null,
currentcost
float not null,
calltime
int not null,
callcost
float not null
);

资源下载:http://download.csdn.net/detail/baidu_25109069/9388870
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: