利用参数编辑器(Parameter Editor)来为参数赋值
具体方法是 选中TQuery部件 单击鼠标右键 然后从中选择Define Parameters 便可以打开参数编辑器
例如 在TQuery部件的SQL属性中我们设置如下的SQL语句
Setect From Customer Where CustNO=:Number;
TQuery的DatabaseName属性为DBDEMOS 其中Number为参数变量 我们便可以为参数Number赋值 在Datetype组合框中选择该参数的数据类型为整数Integer 在Value编辑框中可以为参数Number赋一个值 也可以单击Null Value检查框为参数Number赋一个空值Null 给参数赋值之后 单击OK按钮 这样TQuery部件中的SQL 查询便准备好了 而且参数值也被赋给了动态SQL语句中相应的参数 此时当把TQuery 部件的Active属性设置成True时 在与TQuery部件相连的数据浏览部件中会显示出查询结果 通过参数编辑器为参数赋值 这种方式缺乏应有的灵活性 在实际应用中用得较少 在实际应用中程序设计人员希望用更灵活方便的方式为参数赋值 那就是我们接下来要介绍的另一种途径
在运行过程中 通过程序为参数赋值
用这种方式为参数赋值有三种方法
①根据参数在SQL语句中出现的顺序 设置TQuery部件的Params属性值为参数赋值
②直接根据SQL语句中各参数的名字 调用ParamByName方法来为各参数赋值
③将TQuery部件的DataSource属性设置为另一个数据源 这样将另一个数据源中与当前TQuery部件的SQL语句中的参数名相匹配的字段值赋给其对应的参数
这三种方法我们将在下面的三小节中具体地介绍
使用Params属性为参数赋值
TQuery部件具有一个Params属性 它们在设计时不可用 在程序运行过程中可用 并且是动态建立的 当为TQuery部件编写动态SQL 语句时 Delphi 会自动地建立一个数组Params 数组Params是以 下标开始的 依次对应动态SQL 语句中的参数 也就是说动态SQL语句中第一个参数对应Params[ ] 第二个参数对应params[ ] 依此类推
例如 一个TQuery部件Query 我们为它编写的动态SQL语句是
Insert Into Customer(CustNo Name Country)
Values( CustNo :Name : Country)
对于上述这条动态SQL语句中的参数 我们可以利用TQuery部件的params 属性为参数赋值
Query params[ ] AsString := ;
Query params[ ] AsString := Lichtenstein ;
Query params[ ] AsString := USA ;
上述语句将把 赋给参数 Cuse_No Lichtenstein 赋给参数 Name USA 赋给参数 Country
使用ParamByName方法为参数赋值
ParamByName是一个函数 用动态SQL语句中的参数作为调用ParamByName函数的参数 这样便可以为它们赋值 使用这种赋值方法 必须要知道动态SQL语句参数的名字
例如在 节中的例子中 也可以用下述方法给参数赋值
Query ParamByName( CustNo ) AsString := ;
Query ParamByName( Name ) AsString := Lichtenstein ;
Query ParamByName( Country ) AsString := USA ;
使用这种方法同样可以为各参数赋值 而且更加直观一些
使用Datasource属性为参数赋值
上述两种方法的共同特点是 我们在为各参数赋值时 我们是知道各参数对应的具体参数值的 而在具体的应用程序中 有些参数值常常是无法确定的 例如参数值来自于另一个查询结果 对于这种情况 Delphi提供了使用Datasource属性为动态SQL 语句中尚存在没有赋值的参数时 Delphi 会自动检查 TQuery 部件的 Datasource 属性 如果为Datasource属性设置了属性值(该属性的值是另一个TDatasource部件的名字) Delphi 会把没有赋值的参数与TDatasource部件中的各字段比较 Delphi 会将相应的字段值赋给与其相匹配的参数 利用这种方法也能实现所谓的连接查询 我们在学习使用TTable部件时 便会创建主要 明细型数据库应用 用TQuery部件创建的连接查询与主要 明细型应用是相似的
例如 在如图 所示的应用中 设置了下列部件
● 一个TTable部件
名字为Cust 它的DatabaseName属性为DEMOS TableName属性为Customer
● 一个TDatasource部件
名字为Custsource 其Dataset属性被设置为Cust
● 一个TQuery部件
名字为ORDERS 其DatabaseName被设置为DEMOS SQL属性值为
Select Orders CustNo Orders OrderNo Orders SaleDate FROM Orders
WHERE Orders CustNo =: CustNo
ORDERS的DataSouce属性被设置为CustSource
● 一个TDatasource部件
名字为OrderSource 其DataSet属性被设置为Orders
● 两个TDBGrid部件
它们分别连接CustSource和OrderSource
TQuery部件Orders中的动态SQL语句中的参数 CustNo在程序设计过程中没有给它赋值 当该应用程序运行时Delphi会自动地到其Datasource属性中说明的数据源CustSource中查找与参数 CustNo匹配的字段 而CustSource中正好有一个名字为 CustNo 的字段与参数 CustNo匹配 这样Customer表中的CustNo字段值被赋给了参数 : CustNo 而当每移动Customer表中的记录指针 参数 CustNo的值会随之改变 而参数 CustNo的值发生改变时 Orders中的动态SQL语句会根据新的参数值重新查询 从数据库表中获取相应的订单数据 这样也变实现了类似于主要 明细型应用 即连接查询
Prepare方法的使用
在使用动态SQL语句编程时 常常用到一个很重要的方法prepare 调用prepare 方法之后 Delphi会将带参数的SQL语句传送给与其对应的数据库引擎 对动态SQL语句进行语法分析和优化 虽然在用动态SQL语句编程时 调用prepare方法并不是必须的 但是这里我们要极力推荐调用prepare方法 因为调用prepare方法后 会大大提高动态SQL 语句的执行性能 特别是当要反复多次执行同一条动态SQL语句时 其优越性会更加明显 如果在应用程序中执行一条SQL语句之前并没有显式地调用prepare方法 每次在执行SQL 语句时 Delphi会隐含地调用propare方法以准备这个查询
TQuery部件还有一个prepare属性 这是一个布尔型属性 当其属性值为True时 表明该查询已被准备好了( SQL 语句已被传送到数据库引擎中 ) 当我们使用参数编辑器Parameters Editor来为动态SQL语句中的参数赋值时 当设置完相应的参数值并退出参数编辑器时 Delphi会隐含地调用prepare方法以准备好查询
当SQL语句执行完之后 要想准备下一个查询 首先必须调用close方法 然后才能调用prepare方法准备下一个查询 一般来说 在一个应用程序中应该调用一次prepare方法 常常在窗体的OnCreate事件处理过程中调用prepare方法 然后用上述介绍的方法为参数赋值 最后调用Open方法或ExecSQL方法执行SQL语句 以完成查询
当然在调用prepare方法准备好一个查询时 会消耗一些数据库资源 因而每当一个查询执行完毕之后 要养成调用Unprepare方法以撤消查询的好习惯 在运行程序过程中 通过程序改变TQuery部件的SQL属性值时 Delphi会自动地调用Close方法和Unprepare 方法 以撤消查询
返回目录 DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
Java程序性能优化 让你的Java程序更快 更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
lishixinzhi/Article/program/Delphi/201311/25147
推荐你看<<java核心技术>>,分为上下两卷,已经是第八版了,大概有一千六七百页;当 你看完后,基本的java知识已经掌握了(记住,一定要多练习啊)(我那时候一个暑假看完第一遍,每天看将近十个小时加练习,但是要弄懂,呵呵,至少看个三四遍吧,这两本书只要能搞懂70%就很不错了)
这个时候你可以看看<<thinking in java>>中文名"java编程思想",这本书写的比较难,如果你看不懂,那么你要多做练习,慢慢看,如果看完了,而且懂了,那么证明你的java水平到达了一个更高的层次;(去参加面试的时候问的那些java知识完全可以应付过来了)(或者你可以先看下面的书,边看thinking in java这本书,这样也是可以的,而且学习的效率应该会高些)
然后java就会分方向,j2me(手机编程)不建议你去学这个(要学就学android手机编程),已经过时了;j2ee方向(Web编程),先学html,javaScript,css(这些书多得数不清,呵呵),然后就学servlet和jsp,《jsp应用开发详解》(入门) 《Servlet与JSP核心编程》(核心)这两本书还不错,然后就可以学SSH(三大框架,这个书一大堆),
学习struts的时候建议你从struts1开始学起《精通Struts基于MVC的Java Web设计与开发》,然后就可以学习struts2《Struts2权威指南》,接下来学习Hibernate《精通Hibernate:Java对象持久化技术详解》,最后学习Spring《spring20技术手册》(提示:只要你java基础学得好,这些东西都会学得很快)
这个时候你就要把注意力放在设计模式,数据结构和计算机算法上面来了, 设计模式可以先看<<深入浅出设计模式>> 然后再看<<java与模式>>, 数据结构建议你看清华大学严慰敏老师写的那本教材; 计算机算法要了解基本的排序,如果你不做底层,只做应用的话,没有必要去看那个<<算法导论>这本书太难了。 (设计模式,数据结构和算法才是真正的精髓,要有很多年的编程经验才能够使用得游刃有余,光看懂还不行的,一定要多练习,到了这个境界才是真正的java高手)(我学java有三年了,这是我的体会)
等你掌握前面的这些知识之后,推荐你看<<effective java>>,这本书是目前java领域公认的高级书籍。在项目中你肯定会遇到一些前端的知识,那么你得精通javascript,<<JavaScript权威指南>>(入门), <<JavaScript高级程序设计>>(进阶),这两本书弄懂了,那么学习jquery和extjs都会很快的。
还有要提醒你一下,对于初学者,不要使用eclipse编程工具,建议你先用记事本写程序,当你比较熟练了之后就可以使用eclipse这些工具了。
不要心急,不要图快,所有的书要一本本的慢慢看,多看几遍(一本书看上个四五遍,你就可以成高手,呵呵)。
java基础(j2se)的重点有:继承、多态、流、线程、网络编程、反射、集合、数据库连接、泛型、JNI技术、分布式技术还有解析xml也是很重要的,如果你想学android手机编程,那么SWING和AWT要熟悉一下。如果你不想学Web编程(j2ee),那么我建议你可以学android手机编程《Google+Android开发入门与实战》(入门) 《Google Android SDK开发范例大全》(深入)(建议把android当作业余爱好,把web编程当作主攻方向,因为j2ee包含了大量框架知识),书很多,可以自己去搜。多想 多看 多练才是王道,不要相信什么培训机构,这些都没啥用,真正学好只能靠你自己。
面向对象思想+java基础(j2se)+数据结构+设计模式+计算机算法 为核心,学好了这几个8000元/月轻而易举,什么都可以不学好,唯独这几科一定要学好,切记切记!
当然,随着你的技术水平的提高,你还会要学习其他的语言,不过这都是后话,等你把上面的东西掌握了,我再告诉你怎么学(高并发等内容),哈哈!
首先学习JAVA编程。
Java 2 入门经典
>
本套 Python 课程 400 集,从零基础开始,全面讲解 Python 基础,直达可以手写神经网络的境界。
我们创造性的增加了:手写数据结构和算法、手写神经网络项目。让零基础学员在学习Python 时就开始接触高深的底层知识、神经网络底层实现的知识。
内容共分 26 章,讲解了 Python 基础的方方面面,可以作为 Python 学习者的“宝典”。同时,穿插了 3 个大型实战项目:
1 坦克大战 游戏 。
采用 游戏 开发的方式,寓教于乐,快乐中掌握 Python 基础。
2 手写算法和数据结构。
算法和数据结构是很多大公司面试的不二选择,我们这里讲解内容的同时,手把手 带你实现一个个底层算法,将内功练扎实。
3 手写神经网络。
Python 是人工智能的第一语言。我们创造性的在基础课程中就加入了如何编写一个自己的神经网络,为踏入神经网络的大门打下“坚实基础”。
本套视频一共 400 集,本套视频共分 3 季:
第一季 基础篇Python 基础 (115 集)
第二季 提高篇Python 深入和扩展(100 集)
第三季 扩展篇网络编程、多线程、扩展库(85 集)
第四季 高手篇算法、Python 源码、函数式编程、手工实现神经网络(100 集)
目录:
一 Python基础
二 数据库编程
三 Liunx系统
四 网页编程
五 VUE框架
六 Flask 框架
获取方式:
私信“1”获取
私信方法:点击头像 点击回复“1”即可
值得指出的是在绝大多数数据库应用中 一般都是使用数据集部件TTable TQuery或TStoredProc与磁盘上的数据库进行连接 用TDataSource部件连接数据控制部件和数据集部件 当然用户也可以自定义数据集部件 用于数据库应用当中 TTable TQuery 和TStoredProc部件中都包含一个不可见的TField类型的对象Fields Fields是一个串列表 它对应于数据库表或一个查询结果的列或字段 Fields对象是伴随着TTable TQuery 和TStoredproc部件的活动状态动态地建立的 当数据库表被关闭时 Fields 对象也随之消失 它在程序设计和程序运行过程中都是不可见的
当然也可以利用Fields Editor建立永久性的Fields对象供Delphi应用程序使用 我们将在后面的内容中详细阐述
TTable部件
利用TTable部件程序设计人员甚至可以不需要编写任何程序便可对数据库进行访问 在一个应用程序窗体中放置一个TTable部件的过程如下
在部件选择板上选择Data Access页
单击Table图标
在窗体内单击鼠标 获得一个TTable部件
为TTable部件设置有关的属性
DatabaseName属性指定要访问的数据库所在的路径名 路径名可以用别名来表示
TableName属性指定要访问数据库中具体的数据库表
Active属性设置为True时 表示打开要访问的数据库表 设置为False时 暂时不打开要访问的数据库表
缺省情况下 TTtable部件中包含了要访问的数据库表中所有的字段和记录 用鼠标双击TTable图标时 会出现一个字段编辑器(Fields Editor) 使用Fields Editor可以对TTable部件中包含的数据库表中的字段的显示格式等属性进行编辑 具体可以控制
● 建立一个永久性的字段列表 包括字段的顺序 字段的类型等 即使磁盘上实际的数据库表的表结构发生了改变 我们建立的这个永久性的字段列表也不会发生改变
● 为每个字段指定一个便于阅读和使用的名字
● 指定字段显示的顺序
● 为每个字段指定一个用于显示的字符串
● 为字段增加合法性检验
● 为了显示的需要还可以建立新的字段(如可计算的字段)具体的使用方法见后面的内容
TQuery部件
TQuery部件是我们使用SQL语言开发数据库应用程序的有力工具 因为使用SQL语言 我们可以非常方便灵活地对一个或多个数据库表中的记录进行访问 所以利用TQuery我们可以查询本地的数据库如Pà?aradox和dBASE数据库系统中的数据 我们还可以使用TQuery部件对一个远地的数据库SQL服务器进行访问 建立Client/Server模式的应用程序
在一个应用程序窗体中放置一个TQuery部件的过程如下
在部件选择板上选择Data Access页
单击Query图标
在窗体内单击鼠标 获得一个TQuery部件
为TQuery部件设置有关的属性
DatabaseName属性指定将要访问的数据库的路径名
SQL属性指定对数据库表进行访问SQL语句 它可以是一条查询语句也可以是一条修改语句或插入语句等 在对象浏览器上 单击SQL属性时 会打开一个字符串编辑器供程序设计者输入SQL语句
在这里要注意在TQuery部件中 不是用TableName 属性来指定要访问的数据库中的数据库表 而是在SQL属性中 通过SQL语句来指定将要访问的数据库表
TDataSouece部件
TDataSource部件是连接数据集部件TTable TQuery TStoredProc 和数据控制部件TDBGrid TDBEdit等的桥梁 TTable TQuery TStoredProc部件通过BDE可以实现与磁盘上的数据库连接即访问 但它们本身不能显示数据库中的数据信息 而数据控制部件如TDBGrid TDBEdit等能够提供可视化的界面 显示数据库中的数据信息 但它们不具备访问磁盘数据库的能力 正是TDataSource将这两者有机地结合起来 使得用户才能交互地对数据库中的数据信息进行查询 修改 插入 删除等 *** 作
在应用程序窗体中放置TDataSource部件的过程如下
在部件选择板上选择Data Access页
单击DataSource图标
在窗体内单击鼠标 获得一个TDataSource部件
为TDataSource部件设置有关的属性
Dataset属性指定一个数据集部件 可以是TTable TQuery或TStoredProc部件的名字
返回目录 DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
Java程序性能优化 让你的Java程序更快 更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
lishixinzhi/Article/program/Delphi/201311/25181
Java面向对象编程指南
本书将面向对象的基木概念和Java程序设计语言原理有机地结合起来,通过对象概念加深对Java程序设计语言基本机制的理解,通过Java语言又生动地描绘出面向对象思想的实用价值,这是一本相当新颖的Java和面向对象问题的专著。本书提供了从面向对象设计到Java应用系统设计相当完整的工作流程,具有很强的实用性。每章还附有补充练习,对于读者灵活运用书中主要知识很有帮助。
由于本书来源于作者蝗对象入门和Java程序设计语言两门课程的讲义,因此适于研究生或大学高年级学生作为教学参考书,也适合各类从事Java程序设计的技术人员阅读。
Java用户界面编程指南
简要地说,这是一本详细讲解Java定制用户界面组件设计与实现的专业性书籍,主要用于Internet浏览器用户。在以下的数百页的课程中,我们要讨论有关可视化设计、规划组件、并在实现组件的过程中有效地使用设计模型,以及详细设计和代码维护等内容。
Java 语言入门
第一章 Java语言的产生及其特点
第二章 Java程序开发与运行环境
第三章 Java程序设计基础
第四章 Java应用程序的基本框架
第五章 Java的类
第六章 Java图形用户接口
第七章 多线程
第八章 Java的"异常"
第九章 Java输入输出 *** 作
Java参考大全(J2SE 5 Edition)
本书是世界级程序设计大师herbert Schildt的作品,全面介绍了Java语言,Java标准库和Java开发环境。
全书从Java语言的基础知识入手,内容涵盖了J2SE 5中的新增特性,如泛型,自动装箱,枚举,元数据,并发类库等。本书共分为4个部分。第1部分介绍Java语言,第2部分讨论准Java库,第3部分探讨Java开发环境,第4部分是Java的开发实例,各部分前后衔接,联系紧密。
本书是Java语言及其核心库的完全参考指南,无论是Java编程新手还是有丰富经验的专业人员,都可从本书受益。
精通Struts: 基于MVC的Java Web设计与开发
Struts是目前非常流行的基于MVC的Java Web框架。本书详细介绍了在最新的Struts 11以及不久将推出的Struts 12版本上设计和开发Java Web应用的各种技术。
书中内容注重理论与实践相结合,按照由浅入深、前后照应的顺序来安排内容;对复杂的Struts框架讲解犹如庖丁解牛,先提供整体概貌,再深入局部细节;在剖析局部时,注重和框架的其它部分相联系。
书中列举了大量具有典型性和实用价值的Web应用实例,并提供了详细的开发和部署步骤。随书附赠光盘内容为本书所有范例源程序,以及本书涉及的所有软件的最新版本的安装程序。
本书内容循序渐进,语言深入浅出。无论对于Java Web开发的新手还是行家来说,本书都是精通Struts技术和开发Java Web应用所必备的实用手册。
更多Java方面的资料你可以在IT坊电子书籍频道Java栏目中找到
精通VISUAL C# 2008:语言基础、数据库系统开发、WEB开发
本书由浅入深、循序渐进地讲解了微软公司的核心开发语言C# 30和最新版的开发工具Visual Studio 2008,以及在该环境下如何开发各种类型的应用程序。本书分为6篇:基础技术篇、Windows编程篇、数据库编程篇、Web编程篇、最新技术篇、项目实战篇,共30章。第1篇介绍了C#基本的语法知识和基本控件的使用;第2篇介绍了Windows窗体编程内容,同时包含了C#较高级的编程知识(如反射、泛型等);第3篇以SQL Server2005为例讲解了ADONET数据库编程技术;第4篇介绍ASPNET Web应用程序开发;第5篇介绍NET 35最新技术,包括Ajax、WPF、WCF、LINQ等;第6篇提供了论坛系统、俄罗斯方块网络对战两个技术含量高、实用性强的案例。
本书涉及C#编程的方方面面,初级读者可以系统学习本书,整体掌握使用C#语言进行应用程序开发的技术;中级读者可以跳过或浏览熟悉的内容,直接学习感兴趣的知识;对高级读者而言,本书可以作为开发手册使用。
Visual StudioNET开发环境使用指南
Visual StudioNET是微软为推动互联网技术的进—步发展而推出的集成化第三代互联网开发平台,
它能提供设计、开发、调试和部署web应用程序、web服务以及传统的客户端应用程序所需的各种工具。
本书主要讲述在应用程序开发过程中如何实施和完成以上各个步骤,主要内容包括使用Visual StudioNET
设计应用程序、解决方案与项目、浏览代码和组件、采用的工具与技术、代码与文本编辑、生成web应用
程序、调试、测试、优化和部署web应用程序。
本书是从事分布式应用程序开发人员的最新选择。
Visual C# Net应用精彩50例
本书重点讲述了C#语言的基础知识及使用Visual Studio NET集成开发环境开发各种C#应用程序的技巧,内容主要包括:C#语言基础知识、集成环境中基本工具的使用、开发控制台应用程序、开发ASPNET应用程序、开发Web应用程序、开发数据库应用程序以及建立各种实用程序等。在讲解时,分别从实例说明、实现步骤、执行结果、关键代码及说明等方面进行分析,从而使读者学习这些实例后,可以熟练拿握使用C#语言开发各种类型应用程序的技巧与方法。
本书由浅入深、通俗易懂,在实例选择上既有深度,又有广度,非常适合于初、中级程序员学习,同时也可以作为大专院校学生及其他软件开发入员的学习参考书。
更多NET方面的编辑资料你可以在该频道中网站开发NET专区找到
希望能帮助到你找到自己喜欢的学习资料!
相信很多数据库入门的新手们在学习数据库方面都存在困惑,本文列出了一个非常完整的数据库学习路线,并对数据库学习过程中的细节进行详细指导。希望能够成为大家学习数据库过程中一份纲领性的教程。
本回答来自:数据库怎么学?数据库学习零基础入门指导_树懒学堂
数据库知识要点学习新手学习数据库务必把握的知识要点:
数据库的安装下载:了解数据库的环境变量,文件目录构造。
数据库网络服务器的启动,登陆与登出。
数据库常用命令及语法标准。
数据库基本数据类型与数据表的实际 *** 作。比如,数据表的增删、单表查寻、多表查询等。
数据库运算符和函数,比如,日期函数,时间函数,信息函数,聚合函数,数据加密涵数,自定义函数等。
数据库存储过程,存储过程的调度。
数据库每个存储引擎的特性。
数据库事务管理的定义和应用等。
数据库管理权限和用户管理等。
数据库学习材料推荐:1《MySQL必知必会》
这书讲的十分全,从基本要素,到查寻到插入新建表,用户的管理方法,都是有实际的事例,特别适合没有基础的同学们来学习Mysql,总而言之这本书学习的方式 便是:
掌握数据库的基本概念
按照示例进行练习
2《SQL必知必会》
纯新手必读,这也是Amazon上最热销的SQL书籍的汉化版,写的很轻快,定义十分清晰。这本书用于学习关系型数据库也非常好,基本概念比大部头的教材内容说得清晰得多。
网站推荐:树懒学堂_一站式数据知识学习平台
以上就是关于DELPHI基础教程:SQL编程(一)[4]全部的内容,包括:DELPHI基础教程:SQL编程(一)[4]、推荐一本关于用java开发数据库系统的好书 有实例适合初学者。、学习JSP数据库编程,需要系统地掌握哪些基础知识等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)