几个delphi书中没提过的数据库问题与我的疑惑和心得(一起讨论)

2016-02-19 19:58 13 1 收藏

今天图老师小编给大家展示的是几个delphi书中没提过的数据库问题与我的疑惑和心得(一起讨论),精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

  1,ADOConnection和ADOTable在delphi中的使用

  ADOConnection和ADOTable在delphi中像许多书中教的那样设置好连接上数据库(我用的SQLServer),运行没有问题。然后我修改,目的是可以修改连接数据库而不用在delphi中修改ADOConnection的ConnectionString属性,还不出现连接对话框。

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

  修改步骤:将LoginPrompt设置为false,将ConnectionString属性清空,添加连接代码

  conStr:='Provider=SQLOLEDB.1;Password=1982072019;User ID=sa;Initial Catalog=StorageManagement;Data Source=10.16.99.175';
    try
      loginForm.tempADOConnection.ConnectionString :=conStr;
      loginForm.tempADOConnection.Connected := true;
    except
      messagedlg('数据库连接有误!!请检查DataConfig.XML',mtConfirmation,[mbOk],0);
      Application.Terminate;
    end;

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

  这样程序运行起来,连接数据库是没有问题的。但出现的问题是在dlephi中ADOTable控件是不能连接表的,因为ConnectionString属性没有值。报错为“无效的授权说明”。如何既能在delphi中使用ADOConnection和ADOTable控件,又可以不出现那个讨厌的连接对话框。

  2,在delphi中使用sql语句。

  因为sql语句中给字符串赋值需要用双引号,而delphi中用单引号括起字符串,我使用遇到了一些问题。我试验的结果是delphi中用两个单引号代替sql语句中的双引号。不知道对不对?

  具体如何使用,我还是不太清楚。

  3,在delphi 7.0中使用ADOQuery的返回结果,书中介绍使用Params['xxxx'].AsString;

  我使用后报错,但有一个光盘的程序这样使用没有报错。我使用的是Parameters['xxxx'],也使用不了.AsString

  4,原代码:
  ====================================================================
  if canInsert then
    begin
      with allDataModule.AQ_OtherMaterielOut do
      begin
        Close;
        SQL.Clear;
        SQL.Text:='insert otherMaterielOut(materielID,amount) values (:insertID,:insertAmount,)';
        Parameters[0].Value:=myMateriel;
        Parameters[1].Value:=myAmount; 
        ExecSQL;
      end;
      with allDataModule.AQ_OtherMaterielStock do
      begin
        Close;
        SQL.Clear;
        SQL.Text:='update otherMaterielStock set amount=amount-:updateAmount where materielID=:updateID';
        Parameters[0].Value:=myAmount;
        Parameters[1].Value:=myMateriel;
        ExecSQL;
      end;
      materielOutForm.Close;
    end;

  在这段代码之后
  with allDataModule.AQ_OtherMaterielOut do
      begin
        Close;
        SQL.Clear;
        SQL.Text:='update otherMaterielStock set amount=amount-:updateAmount where materielID=:updateID';
        Parameters[0].Value:=myAmount;
        Parameters[1].Value:=myMateriel;
        ExecSQL;
      end;

  不能使用allDataModule自动显示可以使用的控件列表功能,但我强加上后面的代码仍然可以使用。怎么回事?

来源:http://www.tulaoshi.com/n/20160219/1622407.html

延伸阅读
一个程序连接数据库中间就需要有一个数据库连接引擎 笔者在使用Delphi的过程中,共使用过几种连接方式连接Access,SqlServer,Oracle,IBM UDB,IBM AS/400... 1.BDE     这是使用Delphi最多的一种方式,建立一个BDE别名可以在控制面板中的BDE Administration中添加,不过我习惯在SQL Explorer中建立,因为...
标签: Delphi
下面就来介绍一下这些控件的简单应用: 指定一个数据源 数据控件必须通过TDataSource构件连接数据集。TDataSource构件扮演的角色实际上就是数据控件与数据集之间的桥梁。首先,把一个数据集构件放到窗体或数据模块上,设置它的DatabaseName属性指定要访问的数据库,设置它的TableName属性指定要访问的表。接着,把一个TDataSo...
在使用DBGRID控件时显示DATATIME时其年份是为2位的,但我们在步入2000年后需要显示的日期是4位, 如:1998、2001。在数据库中该字段只有在2000年后才会显示4位,怎么办呢?下面我们就让该字段在DBGRID控件 中也显示4位的日期格式:双击Table1控件,就会出现form1.table窗体,击右键,选 Add Fields...,选择日期字段后按ok,窗体中就出现了...
 Delphi是著名的Borland公司开发的可视化软件开发工具。有这样一句话最为经典、贴切的描述了Delphi——“真正的程序员用C,聪明的程序员用Delphi”。很多人把Delphi称为是第四代编程语言,它具有简单、高效、功能强大等特点。和Visual C++比较,Delphi更简单、更易于学习掌握,而在功能上却毫不逊色;和Visual Basic相比,Delphi则...
标签: Web开发
数据库相关问题 这节将讨论PHP和数据库之间最普通的问题。夸张地说,PHP几乎可以操作今天市面上有的所有的数据库。 1. 我听说PHP可以操作微软的SQL Server.应该怎样做? 2. 我可以操作微软 Access 数据库吗? 3. 我升级到了PHP 4, 现在我的mysql总是告诉我: "Warning: MySQL: Unable to save result set in ...". 这是怎么回事? 4. 安装完...

经验教程

104

收藏

61
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部