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

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

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

【 tulaoshi.com - 编程语言 】

  1,ADOConnection和ADOTable在delphi中的使用

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

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

  修改步骤:将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;

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

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

  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自动显示可以使用的控件列表功能,但我强加上后面的代码仍然可以使用。怎么回事?

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

延伸阅读
DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库) 以下代码在WIN2K,D6,MDAC2.6下测试通过, 编译好的程序在WIN98第二版无ACCESS环境下运行成功. //声明连接字符串 Const SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +'Jet OLEDB:Database Password=%s;&#...
一个程序连接数据库中间就需要有一个数据库连接引擎 笔者在使用Delphi的过程中,共使用过几种连接方式连接Access,SqlServer,Oracle,IBM UDB,IBM AS/400... 1.BDE     这是使用Delphi最多的一种方式,建立一个BDE别名可以在控制面板中的BDE Administration中添加,不过我习惯在SQL Explorer中建立,因为...
标签: Delphi
下面就来介绍一下这些控件的简单应用: 指定一个数据源 数据控件必须通过TDataSource构件连接数据集。TDataSource构件扮演的角色实际上就是数据控件与数据集之间的桥梁。首先,把一个数据集构件放到窗体或数据模块上,设置它的DatabaseName属性指定要访问的数据库,设置它的TableName属性指定要访问的表。接着,把一个TDataSo...
  问题 1.什么是Microsoft Access 工作组,怎样创建工作组信息文件? 2.怎样打开“工作组管理器“? 3.怎样允许他人查看或执行查询,但不能更改数据或查询设计? 4.怎样防止复制、设置数据库密码或更改启动选项? 5.怎样定义用户级安全? 问:什么是Microsoft Access 工作组,怎样创建工作组信息文件? 答:Microsoft Access 工作组是...
标签: Delphi
  13.1 数据库系统概述         数据库系统为我们提供了一种把与我们的工作和生活紧密相关的信息集合在一起的方法,它还提供了在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使...

经验教程

924

收藏

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