adodb如何建立(AD怎么创建)

adodb如何建立,AD怎么创建内容导航:ADODBConnection如何创建数据源altiumdesigner怎么建立元件库ADODB类使用vb中adodb编程为什么显示变量未定义一、ADODBConnection如何创建数据源ConnStr=”Provider=Sqloledb;UserID=”&SqlUsername&”;Password=”&S

adodb如何建立,AD怎么创建

内容导航:

  • ADODBConnection如何创建数据源
  • altium designer怎么建立元件库
  • ADODB类使用
  • vb中adodb编程为什么显示变量未定义
  • 一、ADODBConnection如何创建数据源

    ConnStr = “Provider = Sqloledb; User ID = ” & SqlUsername & “; Password = ” &
    SqlPassword & “; Initial Catalog = ” & SqlDatabaseName & “; Data Source = ” &
    SqlLocalName & “;”这个是链接sqlserver的字符串吧,你用access的driver建数据源好像不可以吧

    二、altium designer怎么建立元件库

    单独建立的话:文件–新建–库–选择你要建立的类型不过我喜欢对应某一个工程里添加专用库,这样不论在哪里,这个库能随时调用。
    1 初次使用时的界面:软件初次使用时会显示软件默认的主页,是以网页形式显示的,界面的具体显示 信息如下图所示,用户可以将历史存储信息框、文件面板、home
    主页等关闭,相应 的操作是右键点击面板标题,从中选择 close xxx 菜单。
    向左转|向右转2 软件菜单说明: ad 的菜单会随着用户打开或新建不同的设计文档而改变,但我们通常将 ad10 的菜单分三大类,即 pcb
    工程菜单(包括库、原理图、pcb 等)、fpga 工程菜单、嵌 入式软件开发工程菜单等三大类,每种设计工程里再根据不同的设计源文档又分不同
    的操作菜单,许多操作菜单还有大量的子菜单,另外鼠标的右键菜单也会根据不同的 设计环境而改,因此 ad 软件的菜单非常丰富,很难一下子将所有的菜单列清楚,
    几乎每个菜单都有相应的快捷功能键,故此本书将不打算逐一列出菜单的功能清单, 因为这将占用本书大量的篇幅,相关的菜单功能我会根据后续不同的设计实例来介绍
    其具体的使用方法。
    向左转|向右转3 ad设计时新建文件的流程: ad 软件对文件的管理方式采用 project 工程的管理方式进行,它将用户的设计
    归纳为以下几种设计工程,分别是:pcb project(pcb 设计工程)、fpga project(fpga 设计工程)、core
    project(fpga ip 核设计工程)、integrated library(集成库工程)、 embeped
    project(嵌入式开发工程)、script project(脚本工程)等六类工程,其中 pcb 工程是用于设计电路原理图和 pcb;fpga
    工程用于设计 hdl 源文件、配置文件、 测试文件、状态机等 fpga 开发相关的设计;集成库工程用于设计原理图和 pcb 封装 库、3d 库、fpga
    核库等;嵌入式工程用于单片机或高级语言的软件开发;脚本工程 用于给客户自己通过面向对象语言开发 ad的插件。
    向左转|向右转用 ad 做电子设计时首先必须新建一个设计工程,然后再在工程里新建相应的源 文件才能确保系统正确地进行 drc 检查,相关的源文件分类如下:
    pcb 工程源文件:原理图、pcb、cam 文件等 fpga 工程源文件:vhdl 文件、verilog 文件、openbus
    系统文件、constraint 配置 文件、testbench 测试文件等 pcb 集成库工程源文件:原理图封装库、pcb 封装库、pcb3d
    库、simmodel 文件、 simodel 文件等 fpga 集成库源文件:vhdl 库、verilog 库等 嵌入式开发工程源文件:c
    语言文件、c++语言文件、c/c++头文件、asm 汇编语 言文件、software platform 文件等 脚本工程源文件:delphi script
    unit 、delphi script form、vb script unit、vb script form、java script unit、java
    script form、tcl script unit、enable basic script unit 等
    用户如果不先新建相应的工程,而是直接新建某类源文件则这类文件我们称之为 自由文件,这种文件可以用 ad10 编辑,但不能做 drc
    检查,或者不能与某种文件同 步及关联。
    下面以新建 pcb 的工程为例介绍新建工程及源文件的操作方法:第一步: 单击 fileànewàprojectàpcb project 菜单,将新建一个
    pcb 工程,并同时打开工 程面板,如下图所示。
    向左转|向右转第二步: 单击 fileànewàschematic 菜单,将新建一张电路原理图,并同时打开原理图编 辑界面,如下图所示:
    向左转|向右转第三步: 单击 fileànewàpcb 菜单,将新建一个 pcb 文件,并同时打开 pcb 编辑界面,如 下图所示:
    向左转|向右转元件库在安装路径的library内,如图:向左转|向右转

    三、ADODB类使用

    MySQL的例子
    PHP中最通用的数据库是MySQL,所以我想你会喜欢下面的程序代码,它连结到 localhost 的 MySQL 服务器,数据库名称是
    mydab,并且执行一个 SQL 的 select 指令查询,查询结果会一列列地印出来。

    $db = mysql_connect(“localhost”, “root”, “password”);
    mysql_select_db(“mydb”,$db);
    $result = mysql_query(“SELECT * FROM employees”,$db);
    if ($result === false) die(“failed”);
    while ($fields = mysql_fetch_row($result)) {
    for ($i=0, $max=sizeof($fields); $i < $max; $i++) {
    print $fields[$i].’ ‘;
    }
    print “
    n”;
    }

    上列的程序代码用颜色标出分段,第一段是连结的部分,第二段是执行SQL指令,最后一段则是显示字段,while循环扫描结果的每一列,而for循环扫描到每列的字段。

    接下来是以ADODB的程序代码得到同样的结果:

    include(“”);
    $db = NewADOConnection(‘mysql’);
    $db->Connect(“localhost”, “root”, “password”, “mydb”);
    $result = $db->Execute(“SELECT * FROM employees”);
    if ($result === false) die(“failed”);
    while (!$result->EOF) {
    for ($i=0, $max=$result->FieldCount(); $i < $max; $i++)
    print $result->fields[$i].’ ‘;
    $result->MoveNext();
    print “
    n”;
    }

    现在改成指向Oracle数据库,程序代码只要修改第二行成为 NewADOConnection(‘oracle’),让我们看一下完整的程序代码…

    与数据库连结

    include(“”);
    $db = NewADOConnection(‘mysql’);
    $db->Connect(“localhost”, “root”, “password”, “mydb”);

    连结的程序代码比起原来MySQL的程序代码有老练一些,因为我们正是需要更老练些。在ADODB我们使用对象导向的方法来管理多样数据库的复杂性,我们用不同类(class)来控制不同数据库。假如你不熟悉对象导向程序设计,别担心!所有的复杂事情都隐藏在
    NewADOConnection() 函数之后。

    为了节省内存,我们只加载与你所连结数据库相关的PHP程序代码,我们通过调用NewADOConnection(databasedriver)来完成这件事,合法的数据库驱动程序包含
    mysql,mssql,oracle,oci8,postgres,sybase,vfp,access,ibase 以及许多其它的驱动程序。

    接着我们通过调用 NewADOConnection() 来从连结类别产生一个新的对象实体,最后我们使用 $db->Connect() 来连结数据库。

    执行SQL指令

    $result = $db->Execute(“SELECT * FROM employees”);
    if ($result === false) die(“failed”);

    直接传送SQL指令到服务器,当成功执行之后,Execute()将传回一个recordset对象,你可以如同上面所列来检查$result。

    一个初学者容易混淆的议题是,在ADODB有两种类型的对象,连结对象以及recordset对象,我们何时用这些对象呢?

    连结对象($db)是负责连结数据库,格式化你的SQL查询。而recordset对象($result)则是负责撷取结果并将响应数据规格化成文字或数组。

    唯一我需要增加的事情是,ADODB提供许多有用的函数来让INSERT及UPDATE指令更容易些,这点我们在进阶的章节会提到。

    撷取资料

    while (!$result->EOF) {
    for ($i=0, $max=$result->FieldCount(); $i < $max; $i++)
    print $result->fields[$i].’ ‘;
    $result->MoveNext();
    print “
    n”;
    }

    前面取得数据的范例很像从档案读数据,在每一行我们首先检查是否到了档案的结尾(EOF),若还没到结尾,循环扫过每列中的字段,然后移到下一行(MoveNext)接着重复同样的事情。

    $result->fields[]数组是由PHP数据库延伸系统所产生的,有些数据库延伸系统并不会以字段名称建立该数组的索引,要强迫以名称排序索引该数组,使用$ADODB_FETCH_MODE的通用变量。

    $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
    $rs1 = $db->Execute(‘select * from table’);
    $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
    $rs2 = $db->Execute(‘select * from table’);
    print_r($rs1->fields); // shows array([0]=>’v0′,[1] =>’v1′)
    print_r($rs2->fields); // shows array([‘col1′]=>’v0’,[‘col2′] =>’v1’)

    如同你所见的上面例子,两个recordset储存并使用不同的取用模式,当recordset由Execute()产生后再设定$ADODB_FETCH_MODE。

    ADOConnection

    连结到数据库的对象,执行SQL指令并且有一组工具函数来标准格式化SQL指令,比如关联与日期格式等指令。

    其它有用的函数

    $recordset->Move($pos)卷动目前的数据列,ADODB支持整个数据库往前卷动,有一些数据库并不支持往后的卷动,这倒不会是个问题,因为你能够用暂存纪录到快取来仿真往后卷动。

    $recordset->RecordCount()传回SQL指令存取到的纪录笔数,有些数据库会因为不支持而传回-1。

    $recordset->GetArray()以数组的方式传回结果。

    rs2html($recordset)函数将传进的recordset转为HTML的表格格式。下例中以粗体字显示相关用法:

    include(”);
    include(”); / includes the rs2html function /
    $conn = &ADONewConnection;(‘mysql’);
    $conn->PConnect(‘localhost’,’userid’,’password’,’database’);
    $rs = $conn->Execute(‘select * from table’);
    rs2html($rs); / recordset to html table /

    还有许多其它有用的函数列示在文件之中,可从下列网址查得 http://php.***.com/adodb_manual

    进阶题材

    新增及更新

    假设你要新增下列数据到数据库中。

    ID = 3
    TheDate=mktime(0,0,0,8,31,2001) / 31st August 2001 /
    Note= sugar why don’t we call it off

    当你改用别的数据库,可能就没办法新增数据。

    第一个问题是,每一个数据库各自有不同的内定日期格式,MySQL使用 YYYY-MM-DD
    格式,而其它数据库则有不同的内定格式,ADODB提供DBDate()函数来转换不同数据库之间的日期内定格式。

    次一个问题是单引号(don’t)的表示法,在MySQL可以直接使用单引号(don’t),但在其它数据库如Sybase、Access、 Microsoft
    SQL Server,则用两个单引号表示(don”t),qstr()函数可以解决此问题。

    我们如何使用这些函数?就像这样:

    $sql = “INSERT INTO table (id, thedate,note) values (“
    . $ID . ‘,’
    . $db->DBDate($TheDate) .’,’
    . $db->qstr($Note).”)”;
    $db->Execute($sql);

    ADODB还有$connection->Affected_Rows()函数,传回受最后update或delete指令影响的数据列数,及$recordset->Insert_ID()函数,传回最后因insert指令而自动产生的数据列编号,预先提醒大家,没有任何数据库有提供这两个函数。

    MetaTypes

    你可以得到关于字段的更多信息,透过recordset的方法FetchField($fieldoffset)传回对象的3个属性:name,type,max_length。

    举例说明:

    $recordset = $conn->Execute(“select adate from table”);
    $f0 = $recordset->FetchField(0);

    结果$f0->name的内容是’adata’,$f0->type将是’date’,假如max_length不知道,其内容将会是-1。

    处理不同数据库的一个问题是,每一个数据库对于相同的数据型态会有不同的称呼,比如timestamp型态在某数据库中称为datetime,而另一个数据库则称为time,所以ADODB提供MetaType($type,$max_length)函数来标准化下列的数据型态:

    C: character and varchar types
    X: text or long character (eg. more than 255 bytes wide).
    B: blob or binary image
    D: date
    T: timestamp
    L: logical (boolean)
    I: integer
    N: numeric (float, double, money)

    在前面的例子中,

    $recordset = $conn->Execute(“select adate from table”);
    $f0 = $recordset->FetchField(0);
    $type = $recordset->MetaType($f0->type, $f0->max_length);
    print $type; / should print ‘D’ /

    Select指令的Limit及Top支持

    ADODB有个$connection->SelectLimit($sql,$nrows,$offset)函数让你撷取recordset的部分集合,这是采用Microsoft产品中的SELECT
    TOP用法,及PostgreSQL与MySQL中的SELECT…LIMIT用法的优点,即使原来的数据库并没有提供此用法,本函数也仿真提供该使用方式。

    快取支援

    ADODB允许你在你的档案系统中暂存recordset的数据,并且在$connection->CacheExecute($secs2cache,$sql)及
    $connection->CacheSelectLimit($secs2cache,$sql,$nrows,$offset)等设定的时间间隔到达之后,才真正去做数据库的查询以节省时间。

    PHP4 Session支持

    ADODB也支持PHP4 session handler,你可以存放你的session变量在数据库中,相关功能请参考
    http://php.***.com/adodb-sessions

    鼓励商业使用

    假如你计划写商用的PHP应用软件来销售,你也可以使用ADODB,我们依据GPL来出版ADODB,也就是说你可以合法地在商用应用软件中引用,并保有你程序代码的所有权。强烈地鼓励ADODB的商业应用,我们自己内部也正以这个理由如此使用中。

    四、vb中adodb编程为什么显示变量未定义

    答:因为adodb不属于VB内部控件,并不能识别,必需引用ADO库。点击工程菜单->引用->MicrosoftActivexDataObjects2.8Library前面打勾确定就可以了。希望能给你帮助!

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/118003.html

    (0)
    robot
    上一篇 2022-05-02
    下一篇 2022-05-02

    相关推荐

    • 网站上线后如何换模版(如何修改网站模板)

      网站上线后如何换模版,如何修改网站模板内容导航:已上线网站怎么换成另外一套模板网站已经做好了如何更换网站模板网站模板能随便更改吗模版怎么换不了啊一、已上线网站怎么换成另外一套模板没法直接换吧,只能在新的模板添加内容后,把原来网站数据删除,新的数据上传二、网站已经做好了如何更换网站模

      2022-05-02
      0
    • ps如何局部黑白(ps怎么看黑白效果)

      ps如何局部黑白,ps怎么看黑白效果内容导航:怎么用PS使图片部分地方变为黑白怎样用PS使图片局部呈黑白关于ps照片的问题,让照片的一部分黑白,一部分彩色,怎么弄ps中怎样给圆锥体上黑白金属一、怎么用PS使图片部分地方变为黑白1、打开一个色彩比较多而且对比明显的图片置入,复制图层并转智能化对象。2、在PS菜单栏中找到“选择”在下拉菜单中点击“色彩范围”。3、在“色彩管

      2022-05-05
      0
    • 什么是静态url(什么是静态管理)

      什么是静态url,什么是静态管理内容导航:什么是url什么是静态url什么叫URL静态化ASP的程序在服务器里的IIS如何实现伪静态url重写静态URL的简介一、什么是url什么是静态urlStaticURL(静态链接)的优缺点:优点:1.内容稳定。即为人工编写的页面。2.链接唯一。多为Top-LevelDomains(顶级

      2022-04-23
      0
    • c++ function的用法是什么

      C++的函数(function)是一段可重复使用的代码块,可以接受输入参数,执行特定的任务,并返回一个值(可选)。函数是面向对象编程中的一种重要概念,可以提高代码的可读性、可维护性和重用性。以下是C++函数的一般用法:函数定义:在C++中,函数的定义包括函数的返回类型、函数名、参数列表和函数体。例如:int add(int a, int b) {return a + b;}函数调用:通过函数名

      2024-02-01
      0
    • 外贸产品图片如何推广(产品推广图片怎么制作)

      外贸产品图片如何推广,产品推广图片怎么制作内容导航:外贸如何推广外贸里会用到哪些图片处理的技巧外贸推广优秀的产品图有哪些标准厦门外贸公司找谁好外贸如何拒绝给产品图片(电子元器件一、外贸如何推广刚刚从事外贸,要想把产品推广出去,建议最好你要先了解一下外贸的交易流程,如何推广外贸产品,主要要做好线上和线下两部分来推广,你可以这样推广:首先是做好线下,你要

      2022-04-30
      0
    • typeScript数组定义及使用的方法是什么

      在TypeScript中,数组的定义和使用方法与JavaScript相似,以下是常用的数组定义及使用方法:声明一个数组:let arr: number[]; // 声明一个只能存储 number 类型的数组let arr: Array; // 使用泛型声明一个只能存储 number 类型的数组let arr: any[]; // 声明一个可以存储任意类型的数组初始化一个数组:l

      2024-01-25
      0