??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品欧美一区二区三区,国产粉嫩一区二区三区在线观看,久久亚洲午夜电影http://www.aygfsteel.com/pts/category/19683.htmlediter by sunzh-cnTue, 01 Apr 2008 22:22:15 GMTTue, 01 Apr 2008 22:22:15 GMT60mysql的insert/replace/update/delete & insert,update,delete多表操作http://www.aygfsteel.com/pts/archive/2008/04/01/190186.htmlptsptsTue, 01 Apr 2008 12:02:00 GMThttp://www.aygfsteel.com/pts/archive/2008/04/01/190186.htmlhttp://www.aygfsteel.com/pts/comments/190186.htmlhttp://www.aygfsteel.com/pts/archive/2008/04/01/190186.html#Feedback0http://www.aygfsteel.com/pts/comments/commentRss/190186.htmlhttp://www.aygfsteel.com/pts/services/trackbacks/190186.htmlmysql的insert/replace/update/delete & insert,update,delete多表操作

2008-03-28 15:44:10 from WriteDream

INSERT和REPLACE语句的功能都是向表中插入新的数据。这两条语句的语法类伹{它们的主要区别是如何处理重复的数据?

1. INSERT的一般用?/p>

MySQL中的INSERT语句和标准的INSERT不太一P在标准的SQL语句中,一ơ插入一条记录的INSERT语句只有一UŞ式?/p>

INSERT INTO tablename(列名…) VALUES(列?;

而在MySQL中还有另外一UŞ式?/p>

INSERT INTO tablename SET column_name1 = value1, column_name2 = value2Q?#8230;;

W一U?a ō nclick="javascrīpt:tagshow(event, '%B7%BD%B7%A8');" target="_self">Ҏ(gu)列名和列值分开了,在用时Q列名必d列值的C致。如下面的语句向users表中插入了一条记录:(x)

INSERT INTO users(id, name, age) VALUES(123, '姚明', 25);

W二U方法允许列名和列值成对出现和使用Q如下面的语句将产生中样的效果?/p>

INSERT INTO users SET id = 123, name = '姚明', age = 25;

如果使用了SET方式Q必至ؓ(f)一列赋倹{如果某一个字D用了省缺|如默认或自增|Q这两种Ҏ(gu)都可以省略这些字Dc如id字段上用了自增|上面两条语句可以写成如下形式Q?/p>

INSERT INTO users (name, age) VALUES('姚明',25);

INSERT INTO uses SET name = '姚明', age = 25;

MySQL在VALUES上也做了些变化。如果VALUES中什么都不写Q那MySQL用表中每一列的默认值来插入新记录?/p>

INSERT INTO users () VALUES();

如果表名后什么都不写Q就表示向表中所有的字段赋倹{用这U方式,不仅在VALUES中的D和列C_(d)而且序不能颠倒?INSERT INTO users VALUES(123, '姚明', 25);

如果INSERT语句写成如下形式MySQL会(x)报错?/p>

INSERT INTO users VALUES('姚明',25);

2. 使用INSERT插入多条记录

? 到这个标题也许大家会(x)问,q有什么好说的Q调用多ơINSERT语句不就可以插入多条记录 了吗Q但使用q种Ҏ(gu)要增加服务器的负P因ؓ(f)Q执行每一ơSQL服务器都要同样对SQLq行分析、优化等操作。幸好MySQL提供了另一U解x案,? 是用一条INSERT语句来插入多条记录。这q不是标准的SQL语法Q因此只能在MySQL中用?/p>

INSERT INTO users(name, age)

VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星?, 600);

上面的INSERT 语句向users表中q箋插入?条记录。值得注意的是Q上面的INSERT语句中的VALUES后必L一条记录的值放C?…)中,中间使用","分割。假设有一个表table1

CREATE TABLE table1(n INT)Q?/p>

如果要向table1中插?条记录,下面写法是错误的Q?/p>

INSERT INTO table1 (i) VALUES(1,2,3,4,5);

MySQL会(x)抛出下面的错?/p>

ERROR 1136: Column count doesn't match value count at row 1

而正的写法应该是这P(x)

INSERT INTO t able1(i) VALUES(1),(2),(3),(4),(5);

当然Q这U写法也可以省略列名Q这h一Ҏ(gu)号里的值的数目必须一_(d)而且q个数目必须和列C致。如Q?/p>

INSERT INTO t able1 VALUES(1),(2),(3),(4),(5);

3. REPLACE语句

我们在?a ō nclick="javascrīpt:tagshow(event, '%CA%FD%BE%DD%BF%E2');" target="_self">数据?/strong>? 可能?x)经帔R到这U情c如果一个表在一个字D上建立了唯一索引Q当我们再向q个表中使用已经存在的键值插入一条记录,那将?x)抛Z个主键冲H的错误。当 Ӟ我们可能想用新记录的值来覆盖原来的记录倹{如果用传l的做法Q必d使用DELETE语句删除原先的记录,然后再用INSERT插入新的记录? 而在MySQL中ؓ(f)我们提供了一U新的解x案,q就是REPLACE语句。用REPLACE插入一条记录时Q如果不重复QREPLACE和 INSERT的功能一P如果有重复记录,REPLACE׃用新记录的值来替换原来的记录倹{?/p>

使用REPLACE的最大好处就是可以将DELETE和INSERT合二ZQŞ成一个原子操作。这样就可以不必考虑在同时用DELETE和INSERT时添加事务等复杂操作了?/p>

在用REPLACEӞ表中必须有唯一索引Q而且q个索引所在的字段不能允许I|否则REPLACE和INSERT完全一L(fng)?/p>

? 执行REPLACE后,pȝq回了所影响的行敎ͼ如果q回1Q说明在表中q没有重复的? 录,如果q回2Q说明有一条重复记录,pȝ自动先调用了DELETE删除q条记录Q然后再记录用INSERT来插入这条记录。如果返回的值大?Q那说明 有多个唯一索引Q有多条记录被删除和插入?/p>

REPLACE的语法和INSERT非常的相|如下面的REPLACE语句是插入或更新一条记录?/p>

REPLACE INTO users (id,name,age) VALUES(123, '赉|?, 50);

插入多条记录Q?/p>

REPLACE INTO users(id, name, age)

VALUES(123, '赉|?, 50), (134,'Mary',15);

REPLACE也可以用SET语句

REPLACE INTO users SET id = 123, name = '赉|?, age = 50;

? 面曾提到REPLACE可能影响3条以上的记录Q这是因为在表中有超q一个的唯一索引。在 q种情况下,REPLACE考虑每一个唯一索引QƈҎ(gu)一个烦引对应的重复记录都删除,然后插入q条新记录。假设有一个table1表,?个字Da, b, c。它们都有一个唯一索引?/p>

CREATE TABLE table1(a INT NOT NULL UNIQUE,b INT NOT NULL UNIQUE,c INT NOT NULL UNIQUE);

假设table1中已l有?条记?/p>

a b c

1 1 1

2 2 2

3 3 3

下面我们使用REPLACE语句向table1中插入一条记录?/p>

REPLACE INTO table1(a, b, c) VALUES(1,2,3);

q回的结果如?/p>

Query OK, 4 rows affected (0.00 sec)

在table1中的记录如下

a b c

1 2 3

我们可以看到QREPLACE原先的3条记录都删除了,然后(1, 2, 3Q插入?

二、UPDATE

UPDATE的功能是更新表中的数据。这的语法和INSERT的第二种用法怼。必L供表名以及SET表达式,在后面可以加WHERE以限制更新的记录范围?/p>

UPDATE table_anem SET column_name1 = value1, column_name2 = value2, ...

WHERE ... ;

如下面的语句users表中id{于123的记录的age改ؓ(f)24

UPDATE users SET age = 24 WHERE id = 123;

同样Q可以用UPDATE更新多个字段的?UPDATE users SET age = 24, name = 'Mike' WHERE id = 123;

上面的UPDATE语句通过WHERE指定一个条Ӟ否则QUPDATE更新表中的所有记录的倹{?/p>

? 使用UPDATE更新记录Ӟ如果被更新的字段的类型和所赋的g匚wӞMySQL这 个D{换ؓ(f)相应cd的倹{如果这个字D|数值类型,而且所赋Dq了q个数据cd的最大范_(d)那么MySQL将q个D{换ؓ(f)q个范围最大或最倹{如? 字符串太长,MySQL将多余的字W串截去。如果设|非I字Dؓ(f)I,那么这个字D设|ؓ(f)它们的默认|数字的默认值是0Q字W串的默认值是IZQ不? nullQ是""Q?/p>

有两U情况UPDATE不会(x)对媄响表中的数据?/p>

1. 当WHERE中的条g在表中没有记录和它匹配时?/p>

2. 当我们将同样的Dl某个字D|Q如字Dabc赋ؓ(f)'123'Q而abc的原值就?123'?/p>

和INSERT、REPLACE一PUPDATE也返回所更新的记录数。但q些记录数ƈ不包括满WHERE条g的,但却未被更新的记录。如下同的UPDATE语句未更新M记录?/p>

UPDATE users SET age = 30 WHERE id = 12;

Query OK, 0 rows affected (0.00 sec)

需要注意的Ӟ如果一个字D늚cd是TIMESTAMPQ那么这个字D在其它字段更新时自动更新?/p>

在有些时候我们需要得到UPDATE所选择的行敎ͼ而不是被更新的行数。我们可以通过一些API来达到这个目的。如MySQL提供的C API提供了一个选项可以得到你想要的记录数。而MySQL的JDBC驱动得到的默认记录数也是匚w的记录数?/p>

UPDATE和REPLACE基本cMQ但是它们之间有两点不同?/p>

1. UPDATE在没有匹配记录时什么都不做Q而REPLACE在有重复记录时更斎ͼ在没有重复记录时插入?/p>

2. UPDATE可以选择性地更新记录的一部分字段。而REPLACE在发现有重复记录时就这条记录彻底删除,再插入新的记录。也是_(d)所有的字段都更C?/p>

三、DELETE和TRUNCATE TABLE

在MySQL中有两种Ҏ(gu)可以删除数据Q一U是DELETE语句Q另一U是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而用TRUNCATE TABLE删除表中的所有记录。因此,DELETE语句更灵zR?/p>

如果要清I中的所有记录,可以使用下面的两U方法:(x)

DELETE FROM table1

TRUNCATE TABLE table1

其中W二条记录中的TABLE是可选的?/p>

如果要删除表中的部分记录Q只能用DELETE语句?/p>

DELETE FROM table1 WHERE ...;

如果DELETE不加WHERE子句Q那么它和TRUNCATE TABLE是一L(fng)Q但它们有一点不同,那就是DELETE可以q回被删除的记录敎ͼ而TRUNCATE TABLEq回的是0?/p>

如果一个表中有自增字段Q用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后Q这个自增字D将起始值恢复成1.如果你不惌样做的话Q可以在DELETE语句中加上永真的WHEREQ如WHERE 1或WHERE true?/p>

DELETE FROM table1 WHERE 1;

上面的语句在执行时将扫描每一条记录。但它ƈ不比较,因ؓ(f)q个WHERE条g永远为true。这样做虽然可以保持自增的最大|但由于它是扫描了所有的记录Q因此,它的执行成本要比没有WHERE子句的DELETE大得多?/p>

DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快。而且q可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录,而且不能q回被删除的记录。但它执行得非常快?/p>

? 标准的SQL语句不同QDELETE支持ORDER BY和LIMIT子句Q通过q两个子句,我们可以更好地控制要删除的记录。如当我们只惛_除WHERE子句qo出来的记录的一部分Q可以用LIMIBQ? 如果要删除后几条记录Q可以通过ORDER BY和LIMIT配合使用。假设我们要删除users表中name{于"Mike"的前6条记录。可以用如下的DELETE语句Q?/p>

DELETE FROM users WHERE name = 'Mike' LIMIT 6;

一般MySQLq不定删除的这6条记录是?条,Z更保险,我们可以使用ORDER BY对记录进行排序?/p>

DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;

B表查询的数据插入A表:(x)

insert into A  select 。。。from B where。。?/p>

or

insert into A (。。。)select 。。。from B where。。?/p>

B表的值更新到A表:(x)

update A set a = (select b from B where B.id = A.id) where exists(select 1 from B where id = A.id) and 。。?/p>

同时删除多表数据Q?/p>

delete A,B from A,B where A.id = B.id and 。。?/p>

or

delete from A,B using A,B where A.id = B.id and 。。?/p>

pts 2008-04-01 20:02 发表评论
]]>
python中访问a(chn)ccess的时间格式字D?/title><link>http://www.aygfsteel.com/pts/archive/2008/03/13/185989.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Thu, 13 Mar 2008 04:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/pts/archive/2008/03/13/185989.html</guid><wfw:comment>http://www.aygfsteel.com/pts/comments/185989.html</wfw:comment><comments>http://www.aygfsteel.com/pts/archive/2008/03/13/185989.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pts/comments/commentRss/185989.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pts/services/trackbacks/185989.html</trackback:ping><description><![CDATA[假设Q?br />有个字段mytimeQ类型ؓ(f)日期/旉Q格式ؓ(f)D|?br />已经输入旉11:30<br />通过ADO讉K:<br />(rs,r)=conn.Execute("select mytime from table1")<br /><br />1、print rs.Fields[1].Value<br />2、print repr(rs.Fields[1].Value)<br />3、print rs.Fields[1].Value.Format("%H:%M:%S %p")<br /><br />输出l果很稀奇(reprQ:(x)<br /><br />1?2/30/0/ 11:30:00<br />2?amp;lt;PyTime:1899-12-30 星期?上午 11:30:00&gt;<br />3?1:30:00 AM<br /><img src ="http://www.aygfsteel.com/pts/aggbug/185989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pts/" target="_blank">pts</a> 2008-03-13 12:16 <a href="http://www.aygfsteel.com/pts/archive/2008/03/13/185989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python with ADO 的几点笔?/title><link>http://www.aygfsteel.com/pts/archive/2008/02/28/182794.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Thu, 28 Feb 2008 13:45:00 GMT</pubDate><guid>http://www.aygfsteel.com/pts/archive/2008/02/28/182794.html</guid><wfw:comment>http://www.aygfsteel.com/pts/comments/182794.html</wfw:comment><comments>http://www.aygfsteel.com/pts/archive/2008/02/28/182794.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pts/comments/commentRss/182794.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pts/services/trackbacks/182794.html</trackback:ping><description><![CDATA[1、几个重要的ADO对象Q?br />     首先<br />     from win32com.client import Dispatch<br />     1.1、connectionQ?br />                 conn=Dispatch(r‘ADODB.Connection')<br />                 <strong>conn.ConnectionString</strong>可用?br />                 conn.Open() <table style="text-align: left;" border="1" cellpadding="2" cellspacing="0" width="800"> <tbody> <tr> <td style="text-align: left;"><strong>Database Engine</strong></td> <td width="600"><strong>ConnectionString</strong></td> </tr> <tr> <td>DBASE (using ODBC)</td> <td style="text-align: left;">Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\path\to\database</td> </tr> <tr> <td>Excel (using ODBC)</td> <td>Driver={Microsoft Excel Driver (*.xls)};DriverID=790;Dbq=C:\path\to\spreadsheet;DefaultDir=C:\path\to\defaultdir</td> </tr> <tr> <td>Excel (using OLE DB)</td> <td>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Path\To\sheet.xls;</td> </tr> <tr> <td>Access (using ODBC)</td> <td>Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\path\to\database.mdb;Uid=username;Pwd=password <br /> <br /> You can also pass additional options -- for example Exclusive=1; sets it to be opened in exclusive mode.</td> </tr> <tr> <td>Access (using OLE DB)</td> <td><strong>Using standard security</strong><br /> PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\database.mdb;User Id=username;Password=somepassword;<br /> (l测试,如果Access加密了,使用下面的connstring可以成功q接Q?br /> PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\database.mdb;Jet OLEDB:Databse Password=pwd;<br /> )<br /> <strong>Using Workgroup security</strong><br /> str="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=database.mdb;JET OLEDB:System Database=mysystem.mdw;"<br /> oConn.Open(str, "my_user_name", "my_password") </td> </tr> <tr> <td>Firebird</td> <td><strong>Remote Database</strong><br /> Provider='LCPI.IBProvider';Data Source='remotehost:C:\path\to\database.fdb';User ID='username';Password='pwd';Auto Commit=true;<br /> <br /> The above is reported to work for a Firebird database by Edward Diamond (ediamond at water dot ca dot gov). I would presume that it could work on a local Firebird server, simply by removing "remotehost" from the string above. Edward reports that even simple queries don't work without the "Auto Commit" part in the connection string. </td> </tr> <tr> <td>MySQL (using ODBC)</td> <td><strong>Local Database</strong><br /> Driver={MySQL ODBC 3.51 Driver};Server=localhost;User=username;Password=mypassword;Database=mydatabase;<br /> <br /> <strong>Remote Database</strong><br /> Driver={MySQL ODBC 3.51 Driver};Server=192.168.1.100;Port=3306;User=username;Password=mypassword;Database=mydatabase;<br /> <br /> There are more parameters that can be set (for example, Option, which controls several connection properties such as logging, packet size limits etc.) See section 3.3 (Connection Parameters) of the <a >MyODBC manual</a> for more information. </td> </tr> <tr> <td>MySQL (using OLE DB)</td> <td>Provider=MySQLProv;Server=192.168.1.100;Port=3306;User=username;Password=mypassword;Database=mydatabase;<br /> <br /> If you have the datasource already set up:<br /> Provider=MySQLProv;Data Source=name_of_datasource;<br /> <br /> You will need to <a >download and install MyOleDB</a> first. Last time I checked MyOLEDB was no longer maintained. </td> </tr> <tr> <td>Oracle (using ODBC)</td> <td> Driver={Microsoft ODBC for Oracle};Server=MyOracleServer;Uid=username;Pwd=password<br /> <br /> See <a >the MSDN library</a> for additional options. </td> </tr> <tr> </tr> <tr> <td>Oracle (using OLE DB)</td> <td> <strong>Using OLE DB provider from Microsoft</strong><br /> Provider=MSDAORA;Data Source=MyOracleDB;User Id=username;Password=password<br /> See <a >the MSDN library</a> for additional options.<br /> <br /> <strong>Using OLE DB provider from Oracle</strong><br /> Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=username;Password=password<br /> </td> </tr> <tr> <td>SQL Server (using ODBC)</td> <td> <strong>Standard Security</strong><br /> Driver={SQL Server};Server=192.168.1.100;Uid=username;Pwd=password;Database=dbname;<br /> <br /> <strong>Trusted Connection</strong><br /> Simply add Trusted_Connection=yes to the above string.<br /> <br /> See <a >MSDN Library</a> for more options. </td> </tr> <tr> <td style="text-align: left;">SQL Server (using OLE DB)</td> <td> Provider=SQLOLEDB.1;Data Source=192.168.1.100;Uid=username;Pwd=password;Database=dbname;<br /> <br /> See <a >MSDN Library</a> for more options.</td> </tr> </tbody> </table>     <br />        1.2、command对象<br />              cmd=Dispatch(r'ADODB.Command')<br />              cmd对象的几个属性设|及可用属性|(x)<br />                    <strong>CommandTyte:<br /> </strong> <table border="1" cellpadding="4" cellspacing="4" cols="4" frame="box" rules="all" width="100%"> <tbody> <tr valign="top"> <th width="29%">帔R</th> <th width="14%">?/th> <th width="57%">说明</th> </tr> <tr valign="top"> <td class="T" width="29%"><strong>adCmdUnspecified</strong> </td> <td class="T" width="14%">-1</td> <td class="T" width="57%">不指定命令类型的参数?/td> </tr> <tr valign="top"> <td class="T" width="29%"><strong>adCmdText</strong> </td> <td class="T" width="14%">1</td> <td class="T" width="57%">按命令或存储q程调用的文本定义计?CommandText?/td> </tr> <tr valign="top"> <td class="T" width="29%"><strong>adCmdTable</strong></td> <td class="T" width="14%">2</td> <td class="T" width="57%">按表名计?<strong>CommandText</strong>Q该表的列全部是由内部生成的 SQL 查询q回的?/td> </tr> <tr valign="top"> <td class="T" width="29%"><strong>adCmdStoredProc</strong></td> <td class="T" width="14%">4</td> <td class="T" width="57%">按存储过E名计算 <strong>CommandText</strong>?/td> </tr> <tr valign="top"> <td class="T" width="29%"><strong>adCmdUnknown</strong></td> <td class="T" width="14%">8</td> <td class="T" width="57%">默认倹{指C?<strong>CommandText</strong> 属性中命o的类型未知?/td> </tr> <tr valign="top"> <td class="T" width="29%"><strong>adCmdFile</strong> </td> <td class="T" width="14%">256</td> <td class="T" width="57%">按持久存储的 Recordset 的文件名计算 <strong>CommandText</strong>?/td> </tr> <tr valign="top"> <td class="T" width="29%"><strong>adCmdTableDirect</strong> </td> <td class="T" width="14%">512</td> <td class="T" width="57%">按表名计?<strong>CommandText</strong>Q该表的列被全部q回?/td> </tr> </tbody> </table> <br />                   <strong>CommandText:</strong>定义命oQ例?SQL 语句Q的可执行文?br />                   <strong>Prepared:</strong>?<strong>Prepared</strong> 属性将提供者保存ؓ(f)查询的已准备好(或已~译Q版本,该查询是W一ơ执?Command对象前在CommandText属性中指定的。这可能?x)降低命令第一ơ执行的速度Q但一旦提供者编译一个命令后Q便可将命o的编译版本用于所有后l的执行中,q样便可提高性能?如果该属性ؓ(f) FalseQ提供者将直接执行 <strong>Command</strong> 对象而不创徏~译版本。如果提供者不支持命o准备Q则一旦将此属性设|ؓ(f) <strong>True</strong>Q提供者便可能q回错误。如果它不返回错误,则仅忽略准备命o的请求,q将 <strong>Prepared</strong> 属性设|ؓ(f) <strong>False</strong>?nbsp;  <br />                  <strong>CommandTimeout:</strong> 属性设|提供者等待命令执行的U数<br /> <br />        1.3、Parameter对象<br />              para1=cmd.CreateParameter(<em>Name, Type, Direction, Size, Value</em>Q?br />                        Name   可选。String |包含 Parameter 对象的名U?br />                        Type   可选。DataTypeEnum |指定 Parameter 对象的数据类型?br />                        Direction   可选。ParameterDirectionEnum |指定 Parameter 对象的类型?br />                        Size   可选。Long |指定参数值的最大长度(以字W或字节为单位)?br />                        Value   可选。VariantQ指?Parameter 对象的倹{?br />                            <strong>DataTypeEnum 可用|(x)<br /> </strong> <table border="1" cellpadding="4" cellspacing="4" cols="4" frame="box" rules="all" width="100%"> <tbody> <tr valign="top"> <th width="32%">帔R</th> <th width="13%">?/th> <th width="55%">说明</th> </tr> <tr valign="top"> <td class="T" width="32%"><strong>AdArray<br /> </strong>Q不适用?ADOX。)</td> <td class="T" width="13%">0x2000 </td> <td class="T" width="55%">一个标志|通常与另一个数据类型常量组合,指示该数据类型的数组?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adBigInt</strong> </td> <td class="T" width="13%">20</td> <td class="T" width="55%">指示一个八字节的有W号整数 (DBTYPE_I8)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adBinary</strong> </td> <td class="T" width="13%">128</td> <td class="T" width="55%">指示一个二q制?(DBTYPE_BYTES)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adBoolean</strong> </td> <td class="T" width="13%">11</td> <td class="T" width="55%">指示一个布?yu)(dng)?(DBTYPE_BOOL)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adBSTR</strong> </td> <td class="T" width="13%">8</td> <td class="T" width="55%">指示?Null l止的字W串 (Unicode) (DBTYPE_BSTR)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adChapter</strong> </td> <td class="T" width="13%">136</td> <td class="T" width="55%">指示一个四字节的子集|标识?a href="mddefrowset.htm">行集?/a>中的? (DBTYPE_HCHAPTER)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adChar</strong> </td> <td class="T" width="13%">129</td> <td class="T" width="55%">指示一个字W串?(DBTYPE_STR)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adCurrency</strong> </td> <td class="T" width="13%">6</td> <td class="T" width="55%">指示一个货币?(DBTYPE_CY)。货币是一个定Ҏ(gu)字,数点右侧有四位数字。该值存储ؓ(f)八字节、范围ؓ(f) 10,000 的有W号整数?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adDate</strong> </td> <td class="T" width="13%">7</td> <td class="T" width="55%">指示日期?(DBTYPE_DATE)。日期保存ؓ(f)双精度数Q数字的整数部分是从 1899 q?12 ?30 日算L(fng)天数Q小数部分是一天当中的片段旉?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adDBDate</strong> </td> <td class="T" width="13%">133</td> <td class="T" width="55%">指示日期?(yyyymmdd) (DBTYPE_DBDATE)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adDBTime</strong> </td> <td class="T" width="13%">134</td> <td class="T" width="55%">指示旉?(hhmmss) (DBTYPE_DBTIME)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adDBTimeStamp</strong> </td> <td class="T" width="13%">135</td> <td class="T" width="55%">指示日期/旉戻Iyyyymmddhhmmss 加十亿分之一的小敎ͼ(DBTYPE_DBTIMESTAMP)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adDecimal</strong> </td> <td class="T" width="13%">14</td> <td class="T" width="55%">指示h固定_ֺ和范围的切数字?(DBTYPE_DECIMAL)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adDouble</strong> </td> <td class="T" width="13%">5</td> <td class="T" width="55%">指示一个双_ֺ点?(DBTYPE_R8)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adEmpty</strong> </td> <td class="T" width="13%">0</td> <td class="T" width="55%">指定没有?(DBTYPE_EMPTY)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adError</strong> </td> <td class="T" width="13%">10</td> <td class="T" width="55%">指示一?32 位的错误代码 (DBTYPE_ERROR)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adFileTime</strong> </td> <td class="T" width="13%">64</td> <td class="T" width="55%">指示一?64 位的|表示?1601 q?1 ?1 日开始的 100 个十亿分之一U间隔的数量 (DBTYPE_FILETIME)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adGUID</strong> </td> <td class="T" width="13%">72</td> <td class="T" width="55%">指示全局唯一标识W?(GUID) (DBTYPE_GUID)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adIDispatch</strong> </td> <td class="T" width="13%">9</td> <td class="T" width="55%">指示指向 COM 对象?<strong>IDispatch</strong> 接口的指?(DBTYPE_IDISPATCH)? <p class="T"><strong>注意   </strong>ADO 目前不支持这U数据类型。用它可能D不可预料的结果?/p> </td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adInteger</strong> </td> <td class="T" width="13%">3</td> <td class="T" width="55%">指示一个四字节的有W号整数 (DBTYPE_I4)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adIUnknown</strong> </td> <td class="T" width="13%">13</td> <td class="T" width="55%">指示指向 COM 对象?<strong>IUnknown</strong> 接口的指?(DBTYPE_IUNKNOWN)? <p class="T"><strong>注意   </strong>ADO 目前不支持这U数据类型。用它可能D不可预料的结果?/p> </td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLongVarBinary</strong> </td> <td class="T" width="13%">205</td> <td class="T" width="55%">指示一个长二进制|仅限?<strong>Parameter</strong> 对象Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLongVarChar</strong> </td> <td class="T" width="13%">201</td> <td class="T" width="55%">指示一个长字符串|仅限?<strong>Parameter</strong> 对象Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLongVarWChar</strong> </td> <td class="T" width="13%">203</td> <td class="T" width="55%">指示一个以 Null l止的长 Unicode 字符串|仅限?<strong>Parameter</strong> 对象Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adNumeric</strong> </td> <td class="T" width="13%">131</td> <td class="T" width="55%">指示h固定_ֺ和范围的切数字?(DBTYPE_NUMERIC)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adPropVariant</strong> </td> <td class="T" width="13%">138</td> <td class="T" width="55%">指示一?Automation PROPVARIANT (DBTYPE_PROP_VARIANT)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adSingle</strong> </td> <td class="T" width="13%">4</td> <td class="T" width="55%">指示一个单_ֺ点?(DBTYPE_R4)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adSmallInt</strong> </td> <td class="T" width="13%">2</td> <td class="T" width="55%">指示一个双字节的有W号整数 (DBTYPE_I2)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adTinyInt</strong> </td> <td class="T" width="13%">16</td> <td class="T" width="55%">指示一个单字节的有W号整数 (DBTYPE_I1)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adUnsignedBigInt</strong> </td> <td class="T" width="13%">21</td> <td class="T" width="55%">指示一个八字节的无W号整数 (DBTYPE_UI8)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adUnsignedInt</strong> </td> <td class="T" width="13%">19</td> <td class="T" width="55%">指示一个四字节的无W号整数 (DBTYPE_UI4)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adUnsignedSmallInt</strong> </td> <td class="T" width="13%">18</td> <td class="T" width="55%">指示一个双字节的无W号整数 (DBTYPE_UI2)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adUnsignedTinyInt</strong> </td> <td class="T" width="13%">17</td> <td class="T" width="55%">指示一个单字节的无W号整数 (DBTYPE_UI1)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adUserDefined</strong> </td> <td class="T" width="13%">132</td> <td class="T" width="55%">指示一个用户定义的变量 (DBTYPE_UDT)?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adVarBinary</strong> </td> <td class="T" width="13%">204</td> <td class="T" width="55%">指示一个二q制|仅限?<strong>Parameter</strong> 对象Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adVarChar</strong> </td> <td class="T" width="13%">200</td> <td class="T" width="55%">指示一个字W串|仅限?<strong>Parameter</strong> 对象Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adVariant</strong> </td> <td class="T" width="13%">12</td> <td class="T" width="55%">指示一?Automation <strong>Variant</strong> (DBTYPE_VARIANT)? <p class="T"><strong>注意   </strong>ADO 目前不支持这U数据类型。用它可能D不可预料的结果?/p> </td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adVarNumeric</strong> </td> <td class="T" width="13%">139</td> <td class="T" width="55%">指示一个数字|仅限?<strong>Parameter</strong> 对象Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adVarWChar</strong> </td> <td class="T" width="13%">202</td> <td class="T" width="55%">指示一个以 Null l止?Unicode 字符Ԍ仅限?<strong>Parameter</strong> 对象Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adWChar</strong> </td> <td class="T" width="13%">130</td> <td class="T" width="55%">指示一个以 Null l止?Unicode 字符?(DBTYPE_WSTR)?/td> </tr> </tbody> </table> <br /> <strong>                                ParameterDirectionEnum可用|(x)<br /> </strong> <table border="1" cellpadding="4" cellspacing="4" cols="4" frame="box" rules="all" width="100%"> <tbody> <tr valign="top"> <th width="32%">帔R</th> <th width="10%">?/th> <th width="58%">说明</th> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adParamInput</strong> </td> <td class="T" width="10%">1</td> <td class="T" width="58%">默认倹{指C参数是输入参数?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adParamInputOutput</strong> </td> <td class="T" width="10%">3</td> <td class="T" width="58%">指示该参数既是输入参敎ͼ又是输出参数?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adParamOutput</strong> </td> <td class="T" width="10%">2</td> <td class="T" width="58%">指示该参数是输出参数?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adParamReturnValue</strong> </td> <td class="T" width="10%">4</td> <td class="T" width="58%">指示该参数是q回倹{?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adParamUnknown</strong> </td> <td class="T" width="10%">0</td> <td class="T" width="58%">指示该参数的方向未知?/td> </tr> </tbody> </table>                       <br />                       讑֮好后加入到cmd的parameters中:(x)<br />                           cmd.Parameters.Append(para1)<br />                       讑֮para1的|(x)<br />                           para1.Value=***<br />                       执行cmdQ?br />                          (rst,result)=cmd.Execute()<br />                          <br />              1.4、recordset对象Q?br />                       rst=Dispatch(r'ADODB.Recordset')<br />                       rst对象在Open前可讄游标cdQ?br /> <ul> <ul> <ul> <ul> <ul> <li><strong>动态游?/strong><strong> adOpenDynamic</strong>?用于查看其他用户所作的d、更改和删除Q用? <strong>Recordset</strong>Q不依赖于书{)中的所有移动类型;如果提供者支持,q可用于书签?/li> </ul> </ul> </ul> </ul> <ul> <ul> <ul> <ul> <li><strong>键集游标 </strong><strong>adOpenKeyset</strong><strong> </strong>? 其行为类似动态游标,不同的只是它止查看其他用户d的记录,q且止讉K其他用户删除的记录。其他用h作的数据更改依然可见。它始终支持书签Q因此允? <strong>Recordset </strong>中的所有移动类型?nbsp; </li> <li><strong>静态游?/strong><strong> adOpenStatic</strong>?提供记录集的静态副本,可用来查找数据或生成报告Q它始终支持书签Q因此允? <strong>Recordset</strong> 中的所有移动类型。其他用h作的d、更Ҏ(gu)删除不可见。当打开客户?<strong>Recordset</strong> 对象Ӟq是唯一允许的游标类型?/li> <li><strong>仅向前游?/strong><strong> </strong><strong>adOpenForwardOnly</strong>?只允许在 <strong>Recordset</strong> 中向前滚动。其他用h作的d、更Ҏ(gu)删除不可见。当只需要对 <strong>Recordset</strong> q行一ơ传递时Q可以提高性能?<br /> </li> </ul> </ul> </ul> </ul> </ul>                             具体游标gؓ(f)Q?br /> <table border="1" cellpadding="4" cellspacing="4" cols="4" frame="box" rules="all" width="100%"> <tbody> <tr valign="top"> <td class="T" width="32%"><strong>adOpenDynamic</strong> </td> <td class="T" width="10%">2</td> <td class="T" width="58%">使用动?a href="mddefcursor.htm">游标</a>。其他用h作的d、更Ҏ(gu)删除均可见,而且允许 <strong>Recordset</strong> 中的所有移动类型(如果提供者不支持书签Q则书签除外Q?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adOpenForwardOnly</strong> </td> <td class="T" width="10%">0</td> <td class="T" width="58%"><strong><em>默认倹{?/em></strong>使用仅向前游标。除了在记录中只能向前滚动外Q与静态游标相同。当只需要在 <strong>Recordset</strong> 中进行一个传递时Q用它可提高性能?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adOpenKeyset</strong> </td> <td class="T" width="10%">1</td> <td class="T" width="58%">使用键集游标。尽从(zhn)的 <strong>Recordset</strong> 不能讉K其他用户删除的记录,但除无法查看其他用户d的记录外Q它和动态游标相伹{其他用h作的数据更改依然可见?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adOpenStatic</strong> </td> <td class="T" width="10%">3</td> <td class="T" width="58%">使用静态游标。一l记录的静态副本,可用于查找数据或生成报告。其他用h作的d、更Ҏ(gu)删除不可见?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adOpenUnspecified</strong> </td> <td class="T" width="10%">-1</td> <td class="T" width="58%">不指定游标类型?/td> </tr> </tbody> </table> <br />                 <em>rst</em><strong>.OpenQ?/strong><code></code><em>Source</em><strong>, </strong><em>ActiveConnection</em><strong>, </strong><em>CursorType</em><strong>, </strong><em>LockType</em><strong>, </strong><em>Options</em>Q?br />                       参数值全部可选?br />                       CursorType上面已经说明<br />                       LockType的可选|(x)<br /> <table border="1" cellpadding="4" cellspacing="4" cols="4" frame="box" rules="all" width="100%"> <tbody> <tr valign="top"> <th width="32%">帔R</th> <th width="10%">?/th> <th width="58%">说明</th> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLockBatchOptimistic</strong> </td> <td class="T" width="10%">4</td> <td class="T" width="58%">指示开攑ּҎ(gu)新。需要批更新模式?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLockOptimistic</strong> </td> <td class="T" width="10%">3</td> <td class="T" width="58%">指示逐个记录开攑ּ锁定。提供者用开攑ּ锁定Q仅在调?<a href="mdmthupdate.htm">Update</a> Ҏ(gu)旉定记录?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLockPessimistic</strong> </td> <td class="T" width="10%">2</td> <td class="T" width="58%">指示逐个记录保守式锁定。提供者要保记录~辑成功Q通常在编辑之后立卛_数据源锁定记录?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLockReadOnly</strong> </td> <td class="T" width="10%">1</td> <td class="T" width="58%"><strong><em>默认?/em></strong>。指C只读记录。无法改变数据?/td> </tr> <tr valign="top"> <td class="T" width="32%"><strong>adLockUnspecified</strong> </td> <td class="T" width="10%">-1</td> <td class="T" width="58%">未指定锁定类型。创建副本时Q副本与源对象用相同的锁定cd?/td> </tr> </tbody> </table> <br /> <img src ="http://www.aygfsteel.com/pts/aggbug/182794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pts/" target="_blank">pts</a> 2008-02-28 21:45 <a href="http://www.aygfsteel.com/pts/archive/2008/02/28/182794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python 讉K加密的access文ghttp://www.aygfsteel.com/pts/archive/2008/02/26/182318.htmlptsptsTue, 26 Feb 2008 14:19:00 GMThttp://www.aygfsteel.com/pts/archive/2008/02/26/182318.htmlhttp://www.aygfsteel.com/pts/comments/182318.htmlhttp://www.aygfsteel.com/pts/archive/2008/02/26/182318.html#Feedback0http://www.aygfsteel.com/pts/comments/commentRss/182318.htmlhttp://www.aygfsteel.com/pts/services/trackbacks/182318.htmlconn=win32com.client.Dispatch(r'ADODB.Connection')
dsn='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=d:/temp/test/test1.mdb;Jet OLEDB:Database Password=555555;'
conn.Open(dsn)
rst=win32com.client.Dispatch(r'ADODB.Recordset')
rst.ActiveConnection=conn
rst.Open('yandan')

关键是这里:(x)
Jet OLEDB:Database Password=123456;
要提供通过独占方式打开mdb文g?>安全->讄密码 后,再打开时要输入的密?br />

pts 2008-02-26 22:19 发表评论
]]>
VBA中初始化ADOq接的几U方?/title><link>http://www.aygfsteel.com/pts/archive/2007/02/01/97357.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Thu, 01 Feb 2007 13:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/pts/archive/2007/02/01/97357.html</guid><wfw:comment>http://www.aygfsteel.com/pts/comments/97357.html</wfw:comment><comments>http://www.aygfsteel.com/pts/archive/2007/02/01/97357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/pts/comments/commentRss/97357.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/pts/services/trackbacks/97357.html</trackback:ping><description><![CDATA[VBA中初始化ADOq接的几U方?br /> <br /> VBA中初始化ADOq接的几U方法有以下几种Q?br /> <br /> 1Q通过CreateObjectҎ(gu)来创接,具体代码如下Q?br /> <br /> Dim conn1<br /> <br /> Set conn1 = CreateObject("ADODB.Connection.2.0") <br /> <br /> 2Q通过使用Dim ... as ...Ҏ(gu)来创?br /> <br /> Dim conn2 As ADODB.Connection<br /> <br /> Set conn2 = New ADODB.Connection<br /> <br /> 3Q通过使用Dim ... as ... New的方法来创徏q接<br /> <br /> Dim conn3 As new ADODB.Connection<br /> <br /> CreateObjectҎ(gu)比DIMҎ(gu)速度要慢Q其好处是你不需要在工程中引用ADO对象?br /> <br /> <p class="poweredbyperformancing">powered by <a >performancing firefox</a></p> <img src ="http://www.aygfsteel.com/pts/aggbug/97357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/pts/" target="_blank">pts</a> 2007-02-01 21:16 <a href="http://www.aygfsteel.com/pts/archive/2007/02/01/97357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>l典SQL语句集锦(收藏?http://www.aygfsteel.com/pts/archive/2006/11/11/80646.htmlptsptsSat, 11 Nov 2006 15:42:00 GMThttp://www.aygfsteel.com/pts/archive/2006/11/11/80646.htmlhttp://www.aygfsteel.com/pts/comments/80646.htmlhttp://www.aygfsteel.com/pts/archive/2006/11/11/80646.html#Feedback0http://www.aygfsteel.com/pts/comments/commentRss/80646.htmlhttp://www.aygfsteel.com/pts/services/trackbacks/80646.htmll典SQL语句集锦(收藏?




pts 2006-11-11 23:42 发表评论
]]>
վ֩ģ壺 | | ̩| ƽ| ˴| | ԣ| | | üɽ| | лͨ| ¤| | | ¹Ȫ| | | ƶ| | ɳ| | | Ƹ| | | | | | | | | | Դ| | ٲ| | Դ| | | |