EDA365电子工程师网

标题: Altium 无法列出元件库里的元件? [打印本页]

作者: taowa    时间: 2015-11-25 10:54
标题: Altium 无法列出元件库里的元件?
        在Altium中,为了方便统一管理使用了dblib.  数据库采用了access数据库。  ' q$ O1 S1 b7 \1 u
       数据库结构是这样的:所有物料都放到了同一个表中,由物料编码加以区分。 每个元件有 “物料编码”,“物料类型” ,”厂商“,“原厂型号”,“元件描述”,“原理图符号名”,“原理图库路径”,“封装名”,“封装库路径” ,“datasheet文件”  等参数。
# K3 \9 ]4 I) H4 A/ y/ S         |% g! e9 @7 |/ C* x
         ALtium  对于数据库中独立的表都可以正常访问,设计时元件都能调出。
( z2 A. e# M+ f3 t1 T
; I# g: d6 @& H: a" {! V" Z2 C  {        Access数据库中  预先写好的SQL查询语句,并保存在数据库中,Altium在访问数据库时,这些预先写好的查询 在Altium看起来就好像在访问独立的表一样。 其他数据库如oracle 或 mysql中类似的,叫做视图。 Altium从外部访问时,都把它当成一个独立的表。
7 m+ h9 z4 y0 t4 M         # ]4 P. O8 e0 t1 s
      例如  为了在设计时调取元件方便   建立了这样一个名字叫“MOS管”的查询      select * from components  where components.物料类型 = "MOS管". @# s8 M+ T$ c6 Q
这样 在altium的library面板中就会有一个 mos管的库,可以调取里面的元件。3 K' X2 X' _3 k# j

! s4 `% u' m2 n, `       由于元件录入数据库时的不规范,MOS管录入时,物料类型 有人录入 “MOSFET”,有人录入 “NMOS" ,有人录入 ”MOS管“,所以在建立
" R0 I8 q% w( ?- K$ v查询时,就必须采用通配符      查询视图的语句改成如下语句     select * from components  where components.物料类型 = "*MOS"
/ [( e+ A3 i9 V7 j9 T: `1 P6 Z      
. M1 y4 q9 d5 C8 b. F) G       这时,问题出现了:采用了通配符的查询,Altium访问时,列表里无法列出元件, 怎么办呢?  难道非要每类器件单独建表?
0 d( o! }  d1 W  H
: E, W. J3 s( A- f' ]
作者: icm    时间: 2015-11-25 16:01
DB用TSQL語句,針對通配符應該是要用like "%MOS%": A" c1 z/ e7 x3 ~( [
select * from components  where components.物料类型 = "*MOS"' V  ~5 `! A5 O5 h
改成
) e+ N8 ^" j# c+ n+ A select * from components  where components.物料类型 like "%MOS%"# N; C" b6 Z% J0 T4 I7 l
試試
作者: icm    时间: 2015-11-25 16:01
DB用TSQL語句,針對通配符應該是要用like "%MOS%"
' \/ ~7 x5 l7 Y+ J. l" B! b select * from components  where components.物料类型 = "*MOS"9 V( o4 o5 N9 s! C$ o- ~# ^( t
改成! J% L; \5 c- X3 E3 B% e! g
select * from components  where components.物料类型 like "%MOS%"
7 c" l0 `, L; ^3 W8 }1 j試試
作者: zhanweiming2014    时间: 2015-11-26 17:17
这部分内容,还没有涉及过。还真想多了了解呢
作者: taowa    时间: 2015-11-30 16:19
SQL 语句中的“=”是笔误  ,实际是使用的 “like" 一样无法列出。




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2