转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
几个delphi书中没提过的数据库问题与我的疑惑和心得(一起讨论)         ★★★★

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

作者:闵涛 文章来源:闵涛的学习笔记 点击数:685 更新时间:2009/4/23 18:26:36

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


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台