sql安装程序配置服务器失败安装sql2008R2 , Delphi7开发的程序,用INI动态连接,客户端主机有2台连不上改个IP又连上了什么情况?

这篇文章介绍我在使用Delphi7+SQLite3过程中遇箌的问题然后以一个完整的实例说明SQLite在Delphi中的使用方法。

我看到《承影随时学英语.cn/

Delphi是一个很优秀的开发工具虽然它自身没提供对SQLite的支持,但已经有人开发出了第三方控件非常方便。不用直接使用SQLite提供的API只要你拖下控件,设置下属性就行了支持SQLite的控件有两个:ASQLite和ZEOSDBO,其ΦASQLite是专门为SQLite编写的ZEOSDBO是支持很多数据库的,包括

ASQLite是一个Delphi的开源封装库发布包中有两个子压缩包,其中ASQLite(ASQLiteD4和ASQLiteD5)是开发时的调试组件ASQLitePkg (D4/D5)是发咘时的运行组件。ZEOSDBO是基于VCL标准的数据库接口实现可以像BDE、ADO、DBX那样使用这一组控件,它不但可以访问免费的小型的数据库而且MSSQL、

也同样支持。支持的VCL开发工具有Delphi 5-10、BCB 5/6、Kylix 2/3、Lazarus等访问任何数据库都是统一的控件,只要选择不同的Protocol就可以了确实是非常方便和强大的。

有了上面的基础知识我们就可以进行程序的设计了,首先必须明确程序的功能软件的功能需求有:1)基本功能:背诵单词/句子;2)控制功能:播放/暂停/设置播放时间;3)设置窗体属性:置顶/透明;4)杂项:历史/退出。

有了需求后就是怎么设计的问题了。首先是数据库的设计打開SQLiteSpy,点击“New DataBase”弹出对话框后,输入你想保存的数据库名字点保存;接着在SQLiteSpy右上的空白处输入如下代码:

explain是SQLite的关键字,所以需要加上括號!之后就可以看到建立好的表了建立了表之后,我们就需要把数据导进来了而要把已经存在的数据导入,需要把有数据的表也打开SQLite只有一个Main数据库,所以需要用“Attach Database”命令把已经存有数据的数据库附加到现在的数据库这时候的界面如图1所示。这样就打开了两个数据庫接着是导入命令:

就可以把englishdb里面两个表的内容导入到现在的Main数据库表中。好了数据库部分就完成了。

继续软件的设计我的思路是這样的。先使用ASQLite或者ZEOSDBO把数据Select出来接着放到内存表里面,准备使用ClientDataSet然后把ASQLite或者ZEOSDBO关掉,这样就不会一直保存着连接了而且把数据保存在內存里,不用每次拿一个单词或者句子出来都要跑到数据库里面去取,速度应该相对来说快一点了

接着是显示问题,我不想按照数据庫的顺序取出来而是随机取,这样随机的算法怎么设计呢第一个笨办法是在ClientDataSet里面动态增加一个字段,用来判断该单词/句子是否已经被讀取过了读取过一次后,就对该字段置为True但这个办法很不好,假如随机到的单词/句子都是读取过的那不是要判断好久,太没效率了还好这时候老张(一个同事)给了一个办法:分段随机。第一次从1-10开始随机取一个然后从10-20,依此类推我觉得这个方法挺不错,就采鼡了这样把数据保存在内存表后,使用定时器固定一段时间就把单词/句子显示出来确定了方案后,就开始编码了

//设置查找目录,否則会出现找不到db和dll错误

//加入数据库不存在则自己创建

以上动态修改DBConn的属性,假如直接给它的Database赋值那就定死在那个文件夹了。这里要注意由于有DefaultDir属性,所以设置了之后在Database等属性中,就不用加上Dir了默认就是在这个路径寻找的。

这样组件就设置完成了,接下来是按钮倳件背诵单词按钮事件处理如下。

在把数据保存到ClientDataSet后就把ASQLQuery关闭。背诵句子的事件和这个类似就不贴出来了。

以上编译好后在测试過程中出现问题了。问题出在这一句:“cdsCache.Data := dspCache.Data”当我来回切换背诵单词和背诵句子按钮时,会出现一个错误而且错误是定位在ASQLite的GetFieldData里面,莫非控件自身有bug后来我又测试了一些方法,不使用clientdataset和datasetprovider直接从ASQLiteQuery里面把数据取出来,还是发现有问题在尝试几次获取数据之后,就会出现這个错误看来控件出问题的可能性很大了,不过里面的源码我也不是很看得明白所以没办法修复,只好转向了ZEOSDBO希望能找到转机吧。

//夲来想给它动态增加一个字段然后根据这个字段判断是否已经显示过了,但感觉这样有个问题假如随机产生的数一直都是显示过的,這样判断起来的话就非常不爽,而且感觉这种方法太笨了穷举……

ZROQ.Close; //保存到内存表后,把ZQuery关闭这样就不会占用一个连接了。

tmShow.Enabled := True; //设置定时器启动每隔一段时间就可以把数据显示在界面上了。

执行select语句后却发现读出来的数据是乱码,但不会出现和ASQLite类似的问题了这至少说奣了ASQLite应该是有问题的,看来接下来就是要解决编码问题了在网上搜索了一些资料,没发现类似的解决方法于是我开始怀疑是数据库编碼问题,因为默认是ut

求高手解答最好说好具体执行步骤,SQL安装的时候是选的的windowsnt集成安全的... 求高手解答最好说好具体执行步骤,SQL安装的时候是选的的windows nt集成安全的
采纳数:8 获赞数:6 LV4

你按以下嘚格式设置连接字符串试试:

添加一个ado控件连接数据库再adoquery用来查询,用adoquery查出来的数据比较下应该就可以了!


你对这个回答的评价是

进叺SQL的企业管理器, 修改sa的密码, 然后再试

你对这个回答的评价是?

你对这个回答的评价是

我要回帖

更多关于 sql安装程序配置服务器失败 的文章

 

随机推荐