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

原创 2005年05月16日 11:29:00

1,ADOConnection和ADOTable在delphi中的使用

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控件,又可以不出现那个讨厌的连接对话框。

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

Delphi图书之我见

Delphi图书之我见 www.codesky.net  2003-7-17  自由网络 关键字: (作者按:这篇文章是应《程序员》编辑王行舟先生的稿约写的。之后...
  • liuling_8008
  • liuling_8008
  • 2013年09月05日 21:59
  • 845

学生管理系统的心得

对数据库的问题理解
  • mayong1234567
  • mayong1234567
  • 2016年05月29日 22:55
  • 379

maven构建java web项目总结

Eclipse中使用Maven构建java web项目首先,你的Eclipse要支持Maven。这个就不用说了,没有支持的就去安装。一、创建新Maven Web项目1.新建Maven Project:...
  • qq_33317568
  • qq_33317568
  • 2017年05月26日 10:38
  • 186

NOIP2017小凯的疑惑(提高D1T1)

题面传送门小学奥数题&&结论题给大家一个不太严谨的证明:引用来自 用到一个引理:不定方程ax+by=c(a,b,c>0)ax+by=c(a,b,c\gt0)一定有一组解(x1,y1)(x_1,y_...
  • qwerty1125
  • qwerty1125
  • 2017年11月29日 09:55
  • 389

2017noip提高组复赛day1小凯的疑惑题解

①题目 ◆描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是          无法准确支付的。现在小凯...
  • Helenal
  • Helenal
  • 2017年12月16日 16:31
  • 302

【NOIp 2017】小凯的疑惑(置顶)

无数人被小学奥数坑到家破人亡,我也不例外。 在此发博文告诫自己无论什么题目都要冷静思考,简单的题目不要想复杂,沉着冷静才能做到最好。 我爱OI,自然要爱屋及乌。我爱小学奥数。#include us...
  • zP1nG
  • zP1nG
  • 2017年11月27日 09:26
  • 2943

Java输入输出流总结

题目:把字符串"1,+,2,+,3,+,4,+,5,-,6,-,7,+,8,-,9"写入D盘,并且计算字符串的值,在控制台打印。 import java.io.File; import java.io...
  • tonehao1990
  • tonehao1990
  • 2015年06月08日 22:09
  • 652

网络编程----心得体会(一篇解决你大部分疑惑的文章)

网络编程: 1.首先要对一些名字有些认识,发现他们之间的关系。 文件描述符: 在我看来,就是操作文件的时候,内核给了一个指针而已,但是这个指针在判断的时候对指针进行非空进行判断,进而判断语句是否成...
  • alpha_love
  • alpha_love
  • 2017年03月17日 11:56
  • 528

《Oracle数据库问题解决方案和故障排除手册》终于发售了

经过大半年的翻译和校验,《Oracle数据库问题解决方案和故障排除手册》终于发售了。 原书是由7位Oracle 专家撰写。 内容覆盖到Oracle 12cR1。 从他们的角度讲解了一些运维的技巧。  ...
  • tianlesoftware
  • tianlesoftware
  • 2018年01月05日 20:03
  • 1003

java__有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人

import java.util.Scanner; public class Main { public static void main(String[] args) { ...
  • qq_25554527
  • qq_25554527
  • 2017年02月27日 21:21
  • 504
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:几个delphi书中没提过的数据库问题与我的疑惑和心得(一起讨论)
举报原因:
原因补充:

(最多只允许输入30个字)