网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.如何在注册表中注册BDE.
.基本图象处理代码(3).
.术语VCL的变更:从VCL到CLX.
.TComboBox下拉取值.
.Delphi图象截取编程示例(3).
.项目迭代开发手记--文件分割存储.
.DFM文件与XML文件互转.
.移动没有CAPTION的窗体.
.快速导出数据到Excel(三):利用.
.类似Access查找中的记忆功能.
.200开发技术年度综述之Windows开.
.Delphi编码标准——文件命名.
.使DevExpress日期控件正确显示.
.杀死一个正在运行的程序.
.Delphi代码标准文档.
.Delphi操作ACCESS技巧集.
.Delphi中避免使用ClassName判断对.
.远程控制篇:服务端程序的隐藏.
.Delphi数据库编程教程(六).
.讲述如何开发一个控件,很有价值.

delphi2005探讨之四

发表日期:2006-2-4


 

笔者在用delphi2005调试其自带例子的DBWebFilterSample时遇到以下问题:若BdpDataAdapter1的active属性设为true,编译运行出现以下错

“/DBWebFilterSample”应用程序中的服务器错误。
--------------------------------------------------------------------------------
Connection open failed. unavailable database
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: Borland.Data.Common.BdpException: Connection open failed. unavailable database源错误: 行 288:
Self.DBWebDataSource1.ErrorDlgForeColor := System.Drawing.Color.Black;行 289:  Include(Self.Load, Self.Page_Load);行 290:
(System.ComponentModel.ISupportInitialize(Self.BdpDataAdapter1)).EndInit;行 291:
(System.ComponentModel.ISupportInitialize(Self.Employees)).EndInit;行 292:
(System.ComponentModel.ISupportInitialize(Self.DataTable1)).EndInit;

源文件: G:\Program Files\Borland\BDS\3.0\Demos\Delphi.Net\DBWeb\WebFilter\WebForm1.pas 行: 290 堆栈跟踪: [BdpException:
Connection open failed. unavailable database]   Borland.Data.Provider.BdpDataAdapter.e() 
Borland.Data.Provider.BdpDataAdapter.EndInit()   WebForm1.TWebForm1.InitializeComponent() in G:\Program
Files\Borland\BDS\3.0\Demos\Delphi.Net\DBWeb\WebFilter\WebForm1.pas:290   WebForm1.TWebForm1.OnInit(EventArgs e) in
G:\Program Files\Borland\BDS\3.0\Demos\Delphi.Net\DBWeb\WebFilter\WebForm1.pas:344 
System.Web.UI.Control.InitRecursive(Control namingContainer)   System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573 若BdpDataAdapter1的Active

 

属性设为false,出现以下错误:
“/DBWebFilterSample”应用程序中的服务器错误。
--------------------------------------------------------------------------------
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 行 325:    else行 326:      sCurrentFilter :=
Convert.ToString(o);行 327:    StartCustId := Convert.ToInt16(ListBox1.SelectedValue);行 328:    EndCustId :=
Convert.ToInt16(ListBox2.SelectedValue);行 329:    if StartCustId < EndCustId then
源文件: G:\Program Files\Borland\BDS\3.0\Demos\Delphi.Net\DBWeb\WebFilter\WebForm1.pas 行: 327 堆栈跟踪: [FormatException:
输入字符串的格式不正确。]   System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0 
System.Int16.Parse(String s, NumberStyles style, IFormatProvider provider) +37   System.Convert.ToInt16(String value) +19 
WebForm1.TWebForm1.Page_Load(Object sender, EventArgs e) in G:\Program
Files\Borland\BDS\3.0\Demos\Delphi.Net\DBWeb\WebFilter\WebForm1.pas:327   System.Web.UI.Control.OnLoad(EventArgs e) 
System.Web.UI.Control.LoadRecursive()   System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573


    由于我测试重点是用delphi2005实现web查询,对以上小错误稍加修改,编译运行不出现错误,但不显示任何数据。为了让其显示数据,笔者自
行在webform1设计窗体加入一个按钮,在按钮事件中加入以下代码:
if not BdpDataAdapter1.Active
thenBdpDataAdapter1.Active:=true;
编译运行点击此按钮,出现以下错误:
“/DBWebFilterSample”应用程序中的服务器错误。
--------------------------------------------------------------------------------
Connection open failed. unavailable database
说明: 执行当前Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:
Borland.Data.Common.BdpException: Connection open failed. unavailable database源错误: 行 301:
if not BdpDataAdapter1.Active then行 303:
BdpDataAdapter1.Active:=true;//此句出错行 304:
end;
源文件: G:\Program
Files\Borland\BDS\3.0\Demos\Delphi.Net\DBWeb\WebFilter\WebForm1.pas 行: 303
堆栈跟踪: [BdpException: Connection open failed.
unavailable database] Borland.Data.Provider.BdpDataAdapter.e() Borland.Data.Provider.BdpDataAdapter.set_Active(Boolean value)
WebForm1.TWebForm1.Button1_Click(Object sender, EventArgs e) in G:\Program
Files\Borland\BDS\3.0\Demos\Delphi.Net\DBWeb\WebFilter\WebForm1.pas:303 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573

    仔细查阅帮助文件,BdpDataAdapter1的Active属性需设为true,但这么设置后也不行啊。肯定是数据库连接有问题,但在设计状态下测试数据
库连接没有问题呀,于是把重新在按钮事件加入数据库连接所有属性,编译运行,点击,故障依旧。 再仔细查阅帮助文件,内有如下内容:To
To set up a connection
 
1.In Borland Data Provider: Connections Editor, select the appropriate item from the Connections list.
2.In Connection Settings, enter the Database path.
Note: If referring to a database on the local disk, prepend the path with
localhost:. If using Interbase, for example, you would enter the path to your Interbase database:
localhost:C:\Program Files\Borland\Interbase\Examples\Database\employee.gdb
(or whatever the actual path might be for your system).

3.Complete the UserName and Password fields for the database as needed.
4.Click Test to confirm the connection.
A dialog appears confirming the status of the connection.

5.Click OK to return to the Borland Data Provider: Connections Editor dialog.
6.Click OK to return to the Data Adapter Configuration dialog.
In the Command tab, the areas for Tables and Columns are updated with information from your connection.

于是把BdpConnection1的ConnectionString属性设为databas=localhost:g:\Program
Files\Borland\Interbase\Examples\Database\employee.gdb;assembly=Borland.Data.Interbase,Version=2.0.0.0,Culture=neutral,Public
KeyToken=91d62ebb5b0d1b1b;vendorclient=gds32.dll;provider=Interbase;username=sysdba;password=masterkey
BdpDataAdapter1的Active属性设为true

去掉所加按钮及其代码,再次编译运行,一切正常。

上一篇:检查RS232(串口)是否接有设备 人气:4777
下一篇:创建Photoshop式浮动窗口应用程序 人气:3498
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐