- 浏览: 22104722 次
- 性别:
- 来自: 杭州
最新评论
-
ZY199266:
配置文件还需要额外的配置ma
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
ZY199266:
我的一访问为什么是 /mavenwebdemo/WEB-I ...
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
lvgaga:
我又一个问题就是 如果像你的这种形式写。配置文件还需要额外的 ...
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
lvgaga:
我的一访问为什么是 /mavenwebdemo/WEB-I ...
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
y1210251848:
你的那个错误应该是项目所使用的目标框架不支持吧
log4net配置(web中使用log4net,把web.config放在单独的文件中)
[转]PHP程序开发范例宝典 -- 第9章 MySQL高级应用技术
第9章 MySQL高级应用技术
来源:http://book.csdn.net/bookfiles/526/
目录
9.1 PHP的mysqli扩展
9.2 MySQL视图的应用
9.3 MySQL存储过程
9.4 MySQL触发器
9.5 MySQL事务
9.2 MySQL视图的应用
视图也称虚表,包括执行某个查询返回的一组记录。视图可以简化获取数据的方法,并通过别名来实现抽象查询。
实例258 创建视图
实例说明
为了简化查询,在实际项目开发过程中,通常可以采用为数据库中的某个表建立视图的方式。在建立的视图中只有开发人员所关心的字段。运行本实例,如图9.6所示,分别在图中输入登录用户的用户名和密码,单击“进入”按钮后,如果用户输入错误的用户名或密码,则给出错误提示,反之如果输入的用户名和密码正确,则提示成功登录。由于本实例采用视图建立了虚表,所以应首先在“命令提示符”下建立视图,如图9.7所示。
图9.7 创建视图
技术要点
MySQL中创建视图可以通过create view语句来实现,具体创建格式如下:
create [ or deplace] [algorithm={merge | temptable | undefined}] view view_name [( column_list)] as select_statement [with [cascaded | local] check option]
algorithm={merge | temptable | undefined}属性用于优化MySQL视图的执行,该属性有3个可用的设置。下面将介绍这3个设置的使用方法。
merge:该参数使MySQL执行视图时传入的任何子句合并到视图的查询定义中。
temptable:如果视图低层表中的数据有变化,这些变化将在下次通过表时立即反映出来。
undefined:当查询结果和视图结果为一一对应关系时,MySQL将algorithm设定为temptable。
view_name:新建视图的名称。
select_statement:SQL查询语句用于限定虚表的内容。
实现过程
(1)建立数据库及数据表,本实例中将数据表命名为tb_admin。
(2)建立完数据表后,就可以在命令提示符下建立视图。创建视图的代码如下:
create view chkadmin as select name, pwd from tb_admin
创建完视图chkadmin后,该视图中只含有name和pwd两个字段,这样会给密码验证工作带来很大的方便。
(3)建立与MySQL数据库的连接。代码如下:
<?php
$conn=mysql_connect("localhost","root","root");
mysql_select_db("db_database09",$conn);
mysql_query("set names gb2312");
?>
(4)判断用户是否单击了“进入”按钮,如果是则通过视图chkadmin对用户身份进行验证。该过程代码如下:
<?php
if($_POST[submit]!="")
{
include_once("conn.php");
$name=$_POST[name];
$pwd=$_POST[pwd];
$sql=mysql_query("select * from chkadmin where name='".$name."' and
pwd='".$pwd."'",$conn);
$info=mysql_fetch_array($sql);
if($info==false){
echo "<script>alert('用户名或密码输入错误!');history.back();</script>";
exit;
}
else
{
echo "<br><div align=center>登录成功!</div>";
}
}
?>
举一反三
根据本实例,读者可以:
利用视图实现用户信息注册。
利用视图实现商品信息的降序输出。
实例259 修改视图
实例说明
为了提高工作效率,对不满足条件的视图可以通过修改的方式进行更改。实现本实例,首先应在数据库中创建数据表tb_changeview,该表也可以在phpMyAdmin中创建,如图9.8所示。打开“命令提示符”窗口,创建视图userinfo,如图9.9所示。更改视图userinfo,如图9.10所示。
图9.8 创建表changeview
图9.9 创建新视图
图9.10 修改视图
技术要点
MySQL中修改视图可以通过alter view语句实现,alter view语句具体使用说明如下:
alter view [algorithm={merge | temptable | undefined} ]view view_name [(column_list)] as select_statement[with [cascaded | local] check option]
algorithm:该参数已经在创建视图中作了介绍,这里不再赘述。
view_name:视图的名称。
select_statement:SQL语句用于限定视图。
实现过程
(1)建立数据库及数据表,本实例中将数据表命名为tb_changeview。
(2)创建视图userinfo。代码如下:
create view userinfo as select * from tb_changeview
(3)查询视图userinfo。代码如下:
select * from userinfo
查看执行结果,可以发现tb_changeview表中的所有的字段都一一列出。
(4)下面开始修改视图,要求修改后只列出username字段。代码如下:
alter view userinfo as select * from tb_changeview
(5)重新查询视图userinfo,从结果中可以发现这时只列出username一个字段,从而说明视图修改成功。
举一反三
根据本实例,读者可以:
实现修改存储商品信息的视图。
实现修改存储用户注册信息的视图。
实例260 应用视图
实例说明
在实际的Web开发过程中,多个数据表中可能有很多的字段,但某个模块可能只需要其中的几个字段。为了提高查询速度和简便操作,可以将该模块需要的字段单独提取出来放在某视图中,例如本实例涉及到学生表和成绩表,在建立的视图中只含有与学生成绩有关的字段,如图9.11所示。运行本实例,如图9.12所示,图中的查询结果显示的字段即为视图中的所有字段。
图9.11 创建视图
图9.12 学生成绩列表
技术要点
本实例创建的视图涉及到多表查询,这说明多个表之间可以通过视图来组合为一个整体,这样对视图的操作相当于多表查询。但如果这些表中有相同的字段,必须按如下方式书写重名的字段:
表名1.字段名,表名2.字段名……
实现过程
(1)在“命令提示符”窗口下为数据库建立视图。代码如下:
create view scoreinfo as select sno,sname,yw,wy,sx from tb_student,tb_score where tb_student.id=tb_score.sid
(2)建立数据库连接文件conn.php。代码如下:
<?php
$conn=new mysqli("localhost","root","root","db_database09");
$conn->query("set names gb2312");
?>
(3)查询视图scoreinfo中的内容,并显示查询结果。代码如下:
<?php
include_once("conn.php");
$sql=$conn->query("select * from scoreinfo");
$info=$sql->fetch_array(MYSQLI_ASSOC);
if($info==NULL)
{
echo "暂无学生信息";
}
else
{
do
{
?>
<tr>
<td height="20" bgcolor="#FFFFFF"><div align="center"><?php echo $info[sno];?></div></td>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $info[sname];?></div></td>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $info[yw];?></div></td>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $info[wy];?></div></td>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $info[sx];?></div></td>
</tr>
<?php
}
while( $info=$sql->fetch_array(MYSQLI_ASSOC));
}
?>
举一反三
根据本实例,读者可以:
实现多表之间的嵌套查询。
实现多表之间相同信息的提取。
9.3 MySQL存储过程
MySQL 5.0以后的版本开始支持存储过程,存储过程具有一致性、高效性、安全性和体系结构等特点,本节将通过具体的实例讲解PHP是如何操纵MySQL存储过程的。
实例261 存储过程的创建
实例说明
为了保证数据的完整性、一致性,提高应用的性能,常采用存储过程技术。MySQL 5.0之前的版本并不支持存储过程,随着MySQL技术的日趋完善,存储过程将在以后的项目中得到广泛的应用。本实例将介绍在MySQL 5.0以后的版本中创建存储过程。
技术要点
一个存储过程包括名字、参数列表,以及可以包括很多SQL语句的SQL语句集。下面为一个存储过程的定义过程:
create procedure proc_name (in parameter integer)
begin
declare variable varchar(20);
if parameter=1 then
set variable='MySQL';
else
set variable='PHP';
end if;
insert into tb (name) values (variable);
end;
MySQL中存储过程的建立以关键字create procedure开始,后面紧跟存储过程的名称和参数。MySQL的存储过程名称不区分大小写,例如PROCE1()和proce1()代表同一个存储过程名。存储过程名不能与MySQL数据库中的内建函数重名。
存储过程的参数一般由3部分组成。第一部分可以是in、out或inout。in表示向存储过程中传入参数;out表示向外传出参数;inout表示定义的参数可传入存储过程,并可以被存储过程修改后传出存储过程,存储过程默认为传入参数,所以参数in可以省略。第二部分为参数名。第三部分为参数的类型,该类型为MySQL数据库中所有可用的字段类型,如果有多个参数,参数之间可以用逗号进行分割。
MySQL存储过程的语句块以begin开始,以end结束。语句体中可以包含变量的声明、控制语句、SQL查询语句等。由于存储过程内部语句要以分号结束,所以在定义存储过程前应将语句结束标志“;”更改为其他字符,并且该字符在存储过程中出现的几率也应该较低,可以用关键字delimiter更改。例如:
mysql>delimiter //
存储过程创建之后,可用如下语句进行删除,参数proc_name指存储过程名。
drop procedure proc_name
实现过程
(1)MySQL存储过程是在“命令提示符”下创建的,所以首先应该打开“命令提示符”窗口。
(2)进入“命令提示符”窗口后,首先应该登录MySQL数据库服务器,在“命令提示符”下输入如下命令:
mysql –u用户名 –p用户密码
(3)更改语句结束符号,本实例将语句结束符更改为“//”。代码如下:
delimiter //
(4)创建存储过程前应首先选择某个数据库。代码如下:
use 数据库名
(5)创建存储过程。
(6)通过call语句调用存储过程。
举一反三
根据本实例,读者可以:
利用存储过程实现多表查询。
利用存储过程对商品信息进行降序输出。
实例262 使用存储过程实现用户注册
实例说明
在数据库系统开发过程中,如果能够应用存储过程,可以使整个系统的运行效率有明显的提高,本实例将向读者介绍MySQL 5.0版本中存储过程的创建以及PHP调用MySQL存储过程的方式。运行本实例前,首先应在“命令提示符”下创建如图9.13所示的存储过程,然后运行本实例,如图9.14所示,在图中的文本框中输入注册信息后,单击“注册”按钮,即可将用户填写的注册信息保存到数据库中,最终保存结果如图9.15所示。
图9.13 创建存储过程
图9.14 录入注册信息
图9.15 注册信息被存储到MySQL数据库
技术要点
本实例的关键技术是如何创建传入参数的存储过程,具体实现代码如下:
delimiter //
create procedure pro_reg (in nc varchar(50), in pwd varchar(50), in email varchar(50),in address varchar(50))
begin
insert into tb_reg (name, pwd ,email ,address) values (nc, pwd, email, address);
end;
//
“delimiter //”的作用是将语句结束符更改为“//”。
“in nc varchar(50)……in address varchar(50)”表示要向存储过程中传入的参数。
“begin……end”表示存储过程中的语句块,它的作用类似于PHP语言中的“{……}”。
实现过程
(1)通过PHP预定义类mysqli,实现与MySQL数据库的连接。代码如下:
$conn=new mysqli("localhost","root","root","db_database09");
$conn->query("set names gb2312");
(2)调用存储过程pro_reg,实现将用户录入的注册信息保存到数据库。代码如下:
if($sql=$conn->query("call pro_reg('".$nc."','".$pwd."','".$email."','".$address."')"))
{
echo "<script>alert('用户注册成功!');</script>";
}
else
{
echo "<script>alert('用户注册失败!');</script>";
}
举一反三
根据本实例,读者可以:
在BBS论坛中,利用存储过程实现将用户所发帖子保存到数据库。
在学生信息管理系统中,利用存储过程删除指定的学生信息。
9.4 MySQL触发器
触发器在数据库系统开发过程中具有非常重要的作用,例如可以防止有害数据录入数据库,可以改变或取消insert、update和delete语句的执行及在一个会话中监听数据库中的数据的改变。
实例263 创建触发器
实例说明
如果用户打算在数据库中通过触发器实现某一动作的监听,那么首先应该创建触发器,触发器是在“命令提示符”下创建的,如图9.16所示。
图9.16 触发器创建过程
技术要点
MySQL数据库创建触发器的格式如下:
create trigger <触发器名称>
{ before | after}
{insert | update | delete}
on <表名>
for each row
<触发器SQL语句>
create trigger <触发器名称>:创建一个新触发器,并指定触发器的名称。
{ before | after}:用于指定在insert、update或delete语句执行前触发还是在语句执行后触发。
on <表名>:用于指定响应该触发器的表名。
for each row:触发器的执行间隔,for each row 通知触发器每隔一行执行一次动作,而不是对整个表执行一次。
<触发器SQL语句>:触发器要执行的SQL语句,如果该触发器要执行多条SQL语句,要将多条语句放在begin…end块中。
实现过程
(1)在“命令提示符”下创建数据表tb_test。代码如下:
create table tb_test(t_id varchar(20),t_name varchar(20))
(2)将换行标记转换为“//”。代码如下:
delimiter //
(3)创建触发器,实现无论用户向表tb_test添加什么数据都使字段t_name的内容为“mrsoft”。代码如下:
create trigger test_tri
before insert on tb_test
for each row
set new.t_name='mrsoft'
(4)向表tb_test添加一条记录,并查看添加后的结果。代码如下:
insert into tb_test(t_id,t_name) values('mr0001', '123')//
select * from tb_test
举一反三
根据本实例,读者可以:
为某表创建触发器,要求在更新数据前触发。
为某表创建触发器,要求在删除数据前触发。
实例264 查看触发器
实例说明
在MySQL数据库中,创建触发器前应先查看数据库中的触发器,这样既可以使开发人员对指定的数据库中的所有触发器及功能有一个直观的把握,而且又可以避免创建同名或类似功能的触发器。运行本实例,如图9.17所示,首先在图中的文本框中输入要查看触发器的数据库,然后单击“查看”按钮,即可将该数据库中所有的触发器的详细信息显示出来。
图9.17 查看触发器
技术要点
查看MySQL数据库中的触发器详细信息,可以通过如下语句实现:
show triggers
使用show triggers语句前应先指明要查看的数据库。
实现过程
(1)选择要查看触发器的数据库。代码如下:
$dbname=$_POST[name];
$conn=mysql_connect("localhost","root","root");
mysql_select_db($dbname,$conn);
mysql_query("set names gb2312");
(2)执行show triggers语句,并显示所查找到的触发器的详细信息。代码如下:
<?php
$sql=@mysql_query("show triggers",$conn);
$info=@mysql_fetch_array($sql);
if($info==false)
{
?>
<tr>
<td height="25" colspan="5" bgcolor="#FFFFFF"><div align="center">该数据库没有设置触发器!</div></td>
</tr>
<?php
}
else
{
do
{
?>
<tr>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[Trigger];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[Table];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[Event];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[Timing];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[Statement];?></div></td>
</tr>
<?php
}
while($info=mysql_fetch_array($sql));
}
?>
举一反三
根据本实例,读者可以:
在论坛中,通过触发器实现帖子的自动回复。
在留言板中,通过触发器实现将含有指定非法关键字的留言自动删除。
9.5 MySQL事务
事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,例如在银行处理转账业务时,如果A账户中的金额刚被发出,而B账户还没来得及接收就发生停电,这会给银行和个人带来很大的经济损失。采用事务处理机制,一旦在转账过程中发生意外,则程序将回滚,不做任何处理。
实例265 使用事务处理技术实现关联表间信息的删除
实例说明
MySQL数据库中的表可以通过主键相互关联,例如学生成绩管理系统中,学生表和成绩表可以通过id实现关联,所以在删除某个学生信息时,只需删除这两个表中为该id的所有记录。但是,当对成绩表实现删除相关id工作后,还没来得及删除学生信息表中该学生的信息时就发生停电等意外,则再重新查找该学生的成绩时,是无法查找到该学生成绩的。
本实例将采用事务处理方式,对学生信息表和学生成绩表中的数据进行删除,运行本实例,学生信息及学生成绩信息分别如图9.18及图9.19所示。当删除图9.18中的学生信息后,查看学生成绩信息可以发现与该学生对应的成绩全部删除。
图9.18 查看学生信息
图9.19 查看学生成绩
技术要点
实现事务的处理可以通过PHP预定义类mysqli的以下方法实现。
autocommit(boolean):该方法用于限定查询结果是否自动提交,如果该方法的参数为true则自动提交,如果参数为false则关闭自动提交。MySQL数据库默认为自动提交。
rollback():利用mysqli类中的该方法可以实现事务的回滚。
commit():利用该方法可以实现提交所有查询。
实现过程
(1)建立数据库及数据表,并实现与数据库的连接。实现与数据库建立连接的代码如下:
<?php
$conn=new mysqli("localhost","root","root","db_database09");
$conn->query("set names gb2312");
?>
(2)显示所有学生基本信息。代码如下:
<?php
include_once("conn.php");
$sql=$conn->query("select * from tb_stu");
$info=$sql->fetch_array(MYSQLI_ASSOC);
if($info==NULL)
{
echo "暂无学生信息!";
}
else
{
do
{
?>
<tr>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[sname];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[sno];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[sage];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[saddress];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info[ssfzh];?></div></td>
<td bgcolor="#FFFFFF"><div align="center"><a href="javascript:if(window.confirm('确定删除该学生信息么?')==true) {window.location.href='delete.php?id=<?php echo $info[id];?>';}">删除</a></div></td>
</tr>
<?php
}
while($info=$sql->fetch_array(MYSQLI_ASSOC));
}
?>
在实现该模块功能时,可以利用JavaScript实现该页与delete.php页面的信息传递。代码如下:
<a href="javascript:if(window.confirm('确定删除该学生信息么?')==true){window.location.href='delete.php?id=<?php echo $info[id];?>';}">删除</a>
window对象的confirm()方法用于弹出一个对话框,用于提示用户是否真正删除某学生的所有信息。
(3)利用事务处理机制对学生基本信息进行删除。代码如下:
<?php
$id=$_GET[id];
include_once("conn.php");
$conn->autocommit(false);
if(!$conn->query("delete from tb_sco where id='".$id."'"))
{
$conn->rollback();
}
if(!$conn->query("delete from tb_stu where id='".$id."'"))
{
$conn->rollback();
}
$conn->commit();
$conn->autocommit(true);
echo "<script>window.location.href='index.php';</script>";
?>
举一反三
根据本实例,读者可以:
实现学生信息的批量删除。
实现银行的转账处理。
实例266 使用事务处理技术实现银行的安全转账
实例说明
在实现银行转账过程中,发生意外是在所难免的,为了避免因意外而造成不必要的损失,在银行转账时经常使用事务处理方式。运行本实例,如图9.20所示,在图中的文本框中输入要转给B账户的金额后,单击“转账”按钮即可实现转账。
图9.20 银行转账
技术要点
本实例的关键技术是如何应用PHP的事务处理机制处理转账过程中可能遇到的意外。事务处理方式是个不错的选择。本实例应用事务处理技术实现转账的代码如下:
<?php
$tob=$_POST[tob];
include_once("conn.php");
$conn->autocommit(false);
if(!$conn->query("update tb_zy set money=money-'".$tob."' where flag='mrsoft'"))
{
$conn->rollback();
}
if(!$conn->query("update tb_zy set money=money+'".$tob."' where flag='mr'"))
{
$conn->rollback();
}
$conn->commit();
$conn->autocommit(true);
echo "<script>window.location.href='index.php';</script>";
?>
首先调用mysqli类的autocommit()方法关闭数据库的自动提交,然后减少A账户一定数量的金额,并判断查询是否顺利执行,如果在此过程中发生意外,则通过调用mysqli类的rollback()方法回滚,不做任何处理,反之为B账户增加相同的金额。最后通过调用mysqli类的commit()方法提交查询,实现转账。
实现过程
(1)利用mysqli扩展技术实现与MySQL数据库的连接。代码如下:
<?php
$conn=new mysqli("localhost","root","root","db_database09");
$conn->query("set names gb2312");
?>
(2)查询A账户与B账户的现有金额并在页面中显示。代码如下:
<?php
include_once("conn.php");
$sql=$conn->query("select * from tb_zy where flag='mrsoft'");
$info=$sql->fetch_array(MYSQLI_ASSOC);
$sql1=$conn->query("select * from tb_zy where flag='mr'");
$info1=$sql1->fetch_array(MYSQLI_ASSOC);
?>
(3)实现转账,该部分关键代码已经在技术要点中给出,这里不再赘述。
举一反三
根据本实例,读者可以:
实现多用户同时转账。
实现自动转账。
<!-- page -->
相关推荐
### Visual C++程序开发范例宝典--简介与目录 #### 一、概述 《Visual C++程序开发范例宝典》是一本针对Visual C++编程语言的专业书籍,旨在为读者提供一系列实用的编程示例和技术指导。该书由明日科技、刘锐宁、梁...
《ASP.NET程序开发范例宝典3》光盘资料提供了丰富的学习资源,旨在帮助开发者深入理解和熟练掌握ASP.NET这一强大的Web应用程序开发框架。ASP.NET是微软.NET Framework的一部分,它允许开发人员构建功能丰富的、高...
总的来说,这份"asp.net程序开发范例宝典---源码"是学习和提升ASP.NET技能的宝贵资源,它包含了大量实际应用中的例子,涵盖了从基础到高级的各种主题,对于想要深入理解和实践ASP.NET开发的程序员来说,无疑是极好的...
在本章“C#程序开发--范例宝典--第17章”中,我们将深入探讨C#编程语言的关键概念和实用技巧。C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及移动应用。本章内容丰富,旨在...
综上所述,"C#程序开发--范例宝典--第10章"涵盖了C#编程的关键知识点,从基础的面向对象编程到高级的特性和技术。通过学习本章并实践其中的范例,你将能够提升自己的C#编程技能,并为解决实际问题打下坚实的基础。
《PHP程序开发范例宝典》是一本专为PHP初学者和进阶者设计的教程书籍,其附带的光盘包含第1章的视频教程,旨在帮助读者更直观、更深入地理解PHP编程的核心概念和技术。这本书和光盘的组合提供了一种互动式的学习体验...
不好意思,最大只能上传20M的文件,所以将书籍配套光盘分卷压缩,共5个压缩卷,请全部下载后(见我的资源)再解压缩。
在本章“C#程序开发--范例宝典--第15章”中,我们将深入探讨C#编程语言的关键概念和实用技巧。这是一份专为软件工程师设计的典藏资料,旨在帮助开发者掌握C#的精华部分,通过丰富的实例来深化理解。以下是本章可能...
全书分为18章,内容包括窗体与界面、控件应用、数据处理技术、图形技术、多媒体技术、文件系统、操作系统与Windows相关程序、注册表、数据库技术、SQL查询相关技术、打印与报表技术、图表技术、硬件相关开发技术、...
在本章“C#程序开发--范例宝典--第12章”中,我们将深入探讨C#编程语言的关键概念和实用技巧。C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及移动应用。本章内容可能是针对...
在本章"软件工程师典藏--C#程序开发--范例宝典"的第9章中,我们将深入探讨C#编程语言的一些核心概念和实用技巧。C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows平台上的应用程序,包括桌面应用、...
在本章“C#程序开发--范例宝典--第8章”中,我们将深入探讨C#编程语言的各种实用范例和技巧。C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及移动应用。本章内容广泛,旨在...
不好意思,最大只能上传20M的文件,所以将书籍配套光盘分卷压缩,共5个压缩卷,请全部下载后(见我的资源)再解压缩。
这个资源是htm的文件,可以直接连接到Delphi程序开发范例宝典-电子书
在本章“C#程序开发--范例宝典--第19章”中,我们将深入探讨C#编程语言的关键概念和实用技巧。C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及移动应用。本章内容可能是针对...
在本章“C#程序开发--范例宝典--第14章”中,我们将深入探讨C#编程语言的关键概念和实用技巧。作为软件工程师的典藏资源,本章聚焦于通过实例来增强你的编程技能,使你能够更有效地利用C#进行软件开发。 C#是一种...
全书包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体技术、文件系统、操作系统与windows相关程序、注册表、数据库技术、sql查询相关技术、linq查询技术、报表与打印技术、图表技术、硬件相关开发技术、...
在本章"软件工程师典藏--c#程序开发--范例宝典"的第16章中,我们聚焦于C#编程语言的应用实践,通过一系列的范例来深入理解和掌握C#的核心概念与技术。这一章节是提升C#编程技能的关键部分,它将帮助开发者从理论知识...
不好意思,最大只能上传20M的文件,所以将书籍配套光盘分卷压缩,共5个压缩卷,请全部下载后(见我的资源)再解压缩。
在本章"软件工程师典藏--c#程序开发--范例宝典"的第20章中,我们聚焦于C#编程语言的应用实例,旨在帮助开发者深入理解和掌握C#的各种特性,提高编程技能。C#是一种面向对象的、类型安全的编程语言,广泛应用于...