delphi2005探讨之四

哎喂巴迪嘿喂狗

哎喂巴迪嘿喂狗

2016-02-19 18:51

下面是个delphi2005探讨之四教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!
 

  笔者在用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 FilesBorlandBDS3.0DemosDelphi.NetDBWebWebFilterWebForm1.pas 行: 290 堆栈跟踪: [BdpException:
  Connection open failed. unavailable database]   Borland.Data.Provider.BdpDataAdapter.e() 
  Borland.Data.Provider.BdpDataAdapter.EndInit()   WebForm1.TWebForm1.InitializeComponent() in G:Program
  FilesBorlandBDS3.0DemosDelphi.NetDBWebWebFilterWebForm1.pas:290   WebForm1.TWebForm1.OnInit(EventArgs e) in
  G:Program FilesBorlandBDS3.0DemosDelphi.NetDBWebWebFilterWebForm1.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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

   

  属性设为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 FilesBorlandBDS3.0DemosDelphi.NetDBWebWebFilterWebForm1.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
  FilesBorlandBDS3.0DemosDelphi.NetDBWebWebFilterWebForm1.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
  FilesBorlandBDS3.0DemosDelphi.NetDBWebWebFilterWebForm1.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
  FilesBorlandBDS3.0DemosDelphi.NetDBWebWebFilterWebForm1.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 FilesBorlandInterbaseExamplesDatabaseemployee.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.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  于是把BdpConnection1的ConnectionString属性设为databas=localhost:g:Program
  FilesBorlandInterbaseExamplesDatabaseemployee.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

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

展开更多 50%)
分享

猜你喜欢

delphi2005探讨之四

编程语言 网络编程
delphi2005探讨之四

delphi2005探讨之二

编程语言 网络编程
delphi2005探讨之二

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Delphi2005(DiamondBack)使用体验

编程语言 网络编程
Delphi2005(DiamondBack)使用体验

老友归来--delphi2005试用手记1

编程语言 网络编程
老友归来--delphi2005试用手记1

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用Delphi2005和DUnit搭建敏捷开发平台

编程语言 网络编程
用Delphi2005和DUnit搭建敏捷开发平台

Delphi2005和DUnit搭建敏捷开发平台记录

Delphi
Delphi2005和DUnit搭建敏捷开发平台记录

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

实现Web页面内容动态改变的dhtml操作

实现Web页面内容动态改变的dhtml操作

在VisualBasic中判断Windows9x的运行模式

在VisualBasic中判断Windows9x的运行模式
下拉加载更多内容 ↓