⑴ 在qt里面用release编译运行正常,能连接到数据库,但是无法使用数据库查询了,这是怎么回事喃
在生成可执行文件给老板看设计的时候,遇到了无法保存数据的问题,觉得可能是无法链接数据库,或者缺少什么内容的问题,在网上查了一些资料,最终测试可顺利完成数据库的链接。经检验,在window 7 32 or 64下都可以使用。使用的工具是Qt Creator 2.8.0,qt版本4.8.5 数据库为Sqlite 若是使用其他数据库,可能略有不同。
具体操作步骤如下:
1)在release文件夹里创建plugins文件夹,并将QT安装目录下的plugins\sqldrivers文件夹下的libqsqlite4.a qsqlite4.dll(数据库不同可能一样) 复制到release\plugins文件夹(如果sqldrivers文件夹中没有你需要的驱动,可能就需要下载其他的驱动了,方法大致相同)
2)main.cpp中添加以下语句 QApplication::addLibraryPath("./plugins");
3)在构建中选中release 后进行编译,生成exe文件。
4)新建文件夹,在你安装qt的目录中(我的目录是D:/Qt/4.8.5/bin)查找qtsql4.dll libgcc_s_dw2-1.dll mingwm10.dll QtCore4.dll QtGui4.dll 然后复制到新建的文件夹中
5)将release下的exe文件和sqldrivers文件夹复制到新建的文件夹。
6)运行生成的exe 文件,就可测试功能了。
⑵ 二叉树遍历 编译没有错误但是运行不出来结果 请问问题出在哪里
我有很多个(假设10万个)数据要保存起来,以后还需要从保存的这些数据中检索是否存在某
个数据,(我想说出二叉树的好处,该怎穗销么说呢?那就是说别人的缺点),假如存晌竖在数组中,
那么,碰巧要找的数字位于99999那个地方,那查找的速度将很慢,因为要从第1个依次往
后取,取出来后进行比较。平衡二叉树(构建平衡二叉树需要先排序,我们这里就不作考虑
了)可宴族大以很好地解决这个问题,但二叉树的遍历(前序,中序,后序)效率要比数组低很多,
public class Node {
public int value;
public Node left;
public Node right;
public void store(intvalue)
right.value=value;
}
else
{
right.store(value);
}
}
}
public boolean find(intvalue)
{
System.out.println("happen" +this.value);
if(value ==this.value)
{
return true;
}
else if(value>this.value)
{
if(right ==null)returnfalse;
return right.find(value);
}else
{
if(left ==null)returnfalse;
return left.find(value);
}
}
public void preList()
{
System.out.print(this.value+ ",");
if(left!=null)left.preList();
if(right!=null) right.preList();
}
public void middleList()
{
if(left!=null)left.preList();
System.out.print(this.value+ ",");
if(right!=null)right.preList();
}
public void afterList()
{
if(left!=null)left.preList();
if(right!=null)right.preList();
System.out.print(this.value+ ",");
}
public static voidmain(String [] args)
{
int [] data =new int[20];
for(inti=0;i<data.length;i++)
{
data[i] = (int)(Math.random()*100)+ 1;
System.out.print(data[i] +",");
}
System.out.println();
Node root = new Node();
root.value = data[0];
for(inti=1;i<data.length;i++)
{
root.store(data[i]);
}
root.find(data[19]);
root.preList();
System.out.println();
root.middleList();
System.out.println();
root.afterList();
}
}
⑶ 用vs编译C++文件时无法启动程序,并且找不到指定文件怎么办
1、用 VS 打开工程,点击菜单 项目 - 属性。
⑷ 程序编译过了,但是无法运行出结果是怎么回事
编译过了没错误,说明你的代码语法没错误。运行结果不对,是你的代码逻辑有问题,仔细检查代码逻辑流程是不是不对,调试调试。