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)notnull,
addr char(8) notnull,
ID char(18) notnullprimary 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)notnullprimary key,
blance floatnotnull,
receiveble float not null,
receipts float not null
);
create tablebill(
Phone char(11)notnull,
currentcost float not null,
calltime int not null,
callcost float not null
);
资源下载:http://download.csdn.net/detail/baidu_25109069/9388870