利用开发工具delphi设计一个数据库应用程序,利用ado(ActiveX Data Objects)进行设计的方案适合基于在本机上运行或利用SQL进行访问的C/S结构的应用方案。总之应用还是比较好,我用delphi+access进行了一个程序的设计和开发,已经完成了基本的功能,但是在程序打包时遇到一些棘手的问题(用了WISE),打包应该没问题比较简单,主要是给要安装软件的电脑进行安装,很多这样那样的问题就出现了,可能很多新手都困扰过,当要安装软件的那台电脑没有安装ODBC驱动时怎么把驱动一起打包分发?如果有ODBC驱动,但没有安装OFFICE办公软件怎么处理?如果软件需要导出成Excel表格时,怎么进行信息的处理?

带着好多疑惑,查了两天的网,也没有大致的头绪,快把第一次见到自己的安装程序运行时的激动心情弄得一团糟!

下面记录一下个人的学习过程和理解:

1、需手动设DSN或在delphi程序中动态设DSN的过程略过;

2、查MSDN关于ado访问access,说明了为什么不用设置DSN,主要是应用于asp、Visual Fox等下面是MSDN的部分文档,也许说明了adoconnection的连接字符串的作用:

My first exposure to ADO was helping my wife with her pet Web site on an IIS where she was developing a pedigree database for Welsh Corgis (http://corgi.folkarts.com/pedigree/). First, I discovered that the administrators did not have to create a DSN for her Microsoft Access database; instead, I opened it with the following code:

Set DogConn=CreateObject("ADODB.Connection")

DogConn.Open "Driver=Microsoft Access Driver (*msb);DBQ=C:\Corgi\DogTree.Mdb"

If she wanted to use another file-based database system like Microsoft Visual FoxPro®, it is just as simple. If I wished to fine-tune the connection, it is trivial:

DogConn.Open = "DRIVER={Microsoft Access Driver (*.mdb)};User Id=admin; DBQ=C:\Corgi\DogTree.Mdb; DefaultDir=C:\Corgi;

FIL=MS Access; ImplicitCommitSync=Yes; MaxBufferSize=512; MaxScanRows=8; PageTimeout=5; SafeTransactions=0;

Threads=3; UserCommitSync=Yes;"

What impressed me was the speed of ADO—she could display the known pedigree of our dogs back 12 generations ( a 211branch tree!) in seconds using an Access database as the source. (Try her Web page yourself!)

When I started developing industrial-grade Web applications going against Windows NT and SQL Server, I found that the use of system DSNs often leads to days tracking down setup errors on test boxes. The most common error was getting "GetOverLappedResult()" when accessing Windows NT and SQL Server from an IIS server. The cause was the DSN being set up (or later changed) to use Named Pipes to connect to Windows NT and SQL Server and not TCP/IP. The solution was to use the following string to set up the connection with the appropriate network connection:

Set MyConn=CreateObject("ADODB.Connection")

MyConn.Open " driver={SQL Server}; server=corwyn; database=family; UID=Woof; PWD=Bone; network=dbmsscon"

The `network=dbmsscon" parameters determines the network library to use, in this case TCP/IP.

对于数据库开发,除了利用别人的代码,或修改别人的代码达到一样的功效外,有空余时间还是应该对MSDN上讲解ado相关的重要内容进行一番查阅。

3、根据上面的用法,再看看下面delphi中用法,多少得些端倪吧:

ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=Admin;Data Source='+ExtractFileDir(application.Exename)+'\temp.mdb;user id=admin;Persist Security Info=False';

adoconnection1.Connected:=true;

快测试一下去。(有取程序路径用extractfilepath(application.ExeName),应该也是一样的道理)。在adoquery控件取adoconnction之前要设置好connectionString!

4、经过测试,过了!以后也用不着写DSN或设置数据源了。真是令人振奋!现在看起来,我做的程序才有点软件的感觉,这种过程和结果确实会让人兴奋。我这几年的学习还是没白费,可以拿出来见人了,高兴啊。还差把说明文档做好就可以打包发布了。软件版本V1.0,哈哈,yes!

mysql表打包到程序中_关于数据库程序的打包相关推荐

  1. python打包加版本信息_使用pyi-set_version为PyInstaller打包出来的程序附加版本信息...

    本文将讲述如何使用 pyi-grab_version获取版本信息的模板文件,以及使用 pyi-set_version为打包好的程序附加版本信息. 当然了,在开始前,需要你已经安装好了 PyInstal ...

  2. 微信小程序中如何使用数据库_如何在程序中使用数据库

    微信小程序中如何使用数据库 如何在程序中使用数据库 许多.NET解决方案都是数据库驱动的,因此我们很多人常常想知道如何访问数据库. 为了帮助您理解该问题的答案,我提供了以下示例,作为如何从数据库检索数 ...

  3. 在 Android 应用程序中使用 SQLite 数据库以及怎么用

    part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...

  4. delphi query 存储为dbf_在Delphi程序中维护DBF数据库

    下载本文示例代码 p> 由于Delphi开发的易用性和快速 性,很多原来使用Foxpro和VisualFoxpro编程的程序员转向了Delphi.但由于工作上或其它的原因,原来的应用系统尤其是应 ...

  5. Java嵌入式数据库H2学习总结(二)——在Web应用程序中使用H2数据库

    一.搭建测试环境和项目 1.1.搭建JavaWeb测试项目 创建一个[H2DBTest]JavaWeb项目,找到H2数据库的jar文件,如下图所示: H2数据库就一个jar文件,这个Jar文件里面包含 ...

  6. Java web程序中备份oracle数据库

    Java web程序中备份oracle数据库 1.生成备份文件: public ActionForward createDmp(ActionMapping mapping, ActionForm fo ...

  7. 在 MFC SDI 程序中实现多语言程序界面

    下载: SdiML (34K,Visual C++ 6 项目) 今天举个例子,说说怎样使用 CLanguage 类,在 MFC SDI 程序中实现多语言程序界面. 因为 MFC 包装了一些字符串显示处 ...

  8. php小程序码生成并保存,小程序中如何生成小程序码

    导语: 小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关心是否 ...

  9. 在Windows程序中打开控制台的程序

    //在Windows程序中打开控制台的程序 #include <stdio.h> #include <io.h> #include <fcntl.h> BOOL C ...

最新文章

  1. 【BZOJ3073】[Pa2011]Journeys 线段树+堆优化Dijkstra
  2. js 栈(进制转换)
  3. python中os操作文件及文件路径
  4. Pair智能标注神器,全面升级,更加智能
  5. 电大管理英语4计算机期末考试,国开电大管理英语1单元自测4答案
  6. vue 给checkbox 赋值_浅谈vue中关于checkbox数据绑定v-model指令的个人理解
  7. CCF CSP202009-2 风险人群筛查
  8. Zmail-简单易用的python邮件模块
  9. 如何保护 IT 基础设施的安全?谷歌给出了500页的答案
  10. HTML - 布局div
  11. 认知机器人:机器人学
  12. 使用pyautogui自动刷微信表情
  13. 访问阿里云服务器配置的ftp后,报错227 entering passive mode
  14. Appgamekit制作消消乐小游戏(附代码)# 4
  15. MATPLOTLIB
  16. HTML特殊符号对照表【常用字符大全】含emoji表情
  17. Postgresql opm监控工具部署
  18. 苹果华为荣耀三家争鸣:谁在开启无边界之战?
  19. C++ 类的相关语法,符号:和::的用法
  20. NFS(NFS介绍,NFS服务端和客户端配置)

热门文章

  1. python怎么判断是不是列表_python判断变量是否为int、字符串、列表、元组、字典等方法...
  2. Cell子刊:微生物组学研究的突破与瓶颈
  3. MPB:南农韦中组-​铁载体对根际细菌互作效应的介导作用研究方法
  4. Nature:功能微生物组研究典范—采用甘露糖苷选择性抑制尿路致病性大肠杆菌(Gordon组作品)...
  5. 宏基因组实战9. 组装assembly和分箱bin结果可视化—Anvi'o
  6. R语言偏相关或者部分相关性系数计算实战:通过拟合两个回归模型、或者pysch包计算偏相关系数(Partial Correlation)、通过方差分析获得偏相关系数的F统计量(偏F检验、二型检验)
  7. R语言explore包进行探索性数据分析实战(EDA、exploratory data analysis):基于iris数据集
  8. R语言临床预测模型的评价指标与验证指标实战:自定义的净重新分类指数NRI(Net Reclassification Index, NRI)函数
  9. R语言创建频数表和列联表
  10. 清华大学王玉计算机,王玉珏(清华大学环境学院教授)_百度百科