robot SQABasic数据库操作命令51Testing软件测试网S*\2S Zf 51Testing软件测试网~$mw"j2B3j(mSQLClose 功能函数
!IU5gHm*`8J9L^0断开由SQLOpen确定的与ODBC数据源连接。
J7M8f,Z;e4N1h0SQLClose ( connection& )
51Testing软件测试网&F*H-A$~'?#X语法: 参数 解释
51Testing软件测试网C0l
AQ.Dconnection& 由SQLOpen返回的一个长整型的名称参数。
@{
M+sBF0iU0注解:
(I K1I9S0Z(v'go0返回的是一个变量。成功返回0并连接随后关闭或断开。如果连接不正常,返回-1。
AI cOK0This example opens the data source named "SblTest," gets the names in the ODBC data sources, and closes the connection.
51Testing软件测试网Y/gm$` [*p)Ll?Sub main
51Testing软件测试网ur'q[W/`' Declarations
51Testing软件测试网3W:i5{F_uLh sL'
51Testing软件测试网g)uT+x!d+|A#K Dim outputStr As String
7Y:G-?wZ0 Dim connection As Long
51Testing软件测试网'S3n)?&@\a Dim prompt As Integer
inJ*r I0 Dim datasources(1 To 50) As Variant
51Testing软件测试网/o#Q
p4t_ Dim retcode As Variant
LM(~&yR-\4IH0 Dim action1 as Integer
51Testing软件测试网;Io0w;AC8g Dim qualifier as String
51Testing软件测试网ys QM a3~P
| 51Testing软件测试网-G4dg)_)a-p prompt = 5
51Testing软件测试网!K1b6m qki' Open the datasource "SblTest"
51Testing软件测试网/r(Ouu A]O connection = SQLOpen("DSN=SblTest", outputStr, prompt:=5)
:tlFuQp0 51Testing软件测试网U%@ |/u!xZ action1 = 1 ' Get the names of the ODBC datasources
51Testing软件测试网
y3Mq$Er k retcode = SQLGetSchema(connection:=connection,action:=1, qualifier:=qualifier, ref:=datasources())
51Testing软件测试网kVn
r5I-q4a;t:f
|oO?' Close the datasource connection
51Testing软件测试网1|C&S q{ z retcode = SQLClose(connection)
51Testing软件测试网!ad d?;v1oq||HK*Q 51Testing软件测试网.@#u N,?c1B(e'LEnd Sub
51Testing软件测试网"L5Z Lg^,?/WM51Testing软件测试网)v+H#Y`+F8edS#GSQLError功能函数
51Testing软件测试网bR)IDI.l7G可以用来接收做ODBC函数调用时发生的多条错误的详细信息。为最近ODBC函数调用和连接返回错误信息。
51Testing软件测试网DG5k(K{j'GXFSQLError ( destination() )
4h+c4c1M$a}lh@0语法: 参数 解释
*i,B$a3u8]|0destination() 两维数组的每行包含一个错误。名称参数是必要的,必须是变量的数组。
e0[T9`wQY'Nu4q%V0注解
Dg5X'jmk0没有返回值。域: 1) 表示ODBC错误类型/下级分类的字符串, 2)表示数据源错误编码的数字值, 3)表示错误的文本信息。
51Testing软件测试网 [ F3fo.g+{S[2}如果没有错误从先前的ODBC函数调用发生,则0被返回到调用者数组的(1,1)里。如果数组不是2维的或不支持上面提到的三个域,则一个错误信息被返回到调用者数组的(1,1)里。
/DT(PHo0SQLError Example
nE%b].r#sb0This example forces an error to test SQLError function.
51Testing软件测试网t6qZ Y$RQD%Psub main
/]-{#Y*y
NJj0' Declarations
51Testing软件测试网P["Z9^g
y-jx Dim connection As long
o3|{7Wy$~D0 Dim prompt as integer
Y;z:Wk8fc2{"r/u+V0 Dim retcode as long
51Testing软件测试网"O a1|/tb\%?E#Y Dim errors(1 To 3, 1 To 10) as Variant
I-j$hX _!N$@0 Dim outputStr as String
^;J#L
a:V"}
@
i6J0' Open the datasource
51Testing软件测试网4t;u;M*{q/f-i-BB connection = SQLOpen("DSN=SBLTESTW;UID=DBA;PWD=SQL",outputStr,prompt:=3)
~X/C*](pP`h%F0' force an error to test SQLError select a nonexistent table
51Testing软件测试网s"Cfb$H#U retcode = SQLExecQuery(connection:=connection,query:="select * from notable ")
0u4\ uDD3tP|0' Retrieve the detailed error message information into the errors array
51Testing软件测试网;vTUVX~'y SQLError destination:=errors
51Testing软件测试网L2F P j:YU0MEJ retcode = SQLClose(connection)
e3X)`$X~ Z0end sub
51Testing软件测试网 eUA-F*tL)RgSxt t5t0SQLExecQuery Function
uEFY9ZW{x0在SQLOpen确定的连接上执行一个SQL语句。
51Testing软件测试网?_eJN(KXCSQLExecQuery ( connection& , query$ )
51Testing软件测试网*Y G:~J8K T语法: 参数 解释
51Testing软件测试网f3g}dw'O e3v8f;|g;lconnection& 指定参数、必须。长整形、由SQLOpen返回。
5U4G(M(}"^(u^r0query$ 包含一个有效SQL语句的字符串,返回值是个变量。
51Testing软件测试网_J)A;a ~f[?注解:
+g.|!^5X
w0对于SQL SELECT返回结果集的栏数目;对于UPDATE, INSERT, 或 DELETE返回受语句作用的行的数目。任何其它SQL语句返回0。如果函数在指定数据源不能执行此查询,或如果连接不可用,则返回为负的错误编码。
*W,sNC X6x*_0如果SQLExecQuery被调用但连接上还有一些未处理结果,则这些等待结果被新的结果所代替。
51Testing软件测试网G.`6C9k!{N
FSQLExecQuery Example
T M1nOAS*NYt2_0This example performs a query on the data source.
51Testing软件测试网)bFJ7s*ZuTSVSub main
EZdqT v-_*m,[0' Declarations
51Testing软件测试网 a5s`Rh%J'
51Testing软件测试网 NK|+m8JdE Dim connection As Long
51Testing软件测试网S:E6tP?]0~ T R Dim destination(1 To 50, 1 To 125) As Variant
51Testing软件测试网q g,a-P%m&JE Dim retcode As long
K#|,k!mcm)Z9k/Vm0 Dim outputStr as String
g t)}6}T@;PB`8X)A/f0 Dim query as String
Vae#g@v#Q9x)IT!z0T0' open the connection
51Testing软件测试网;q)qV,an)Y@e*BU%Mc connection = SQLOpen("DSN=SblTest",outputStr,prompt:=3)
51Testing软件测试网(M4xC!Q
^%U
?7w P#Q'
51Testing软件测试网/d0UR$f:}}*d&{O c:aC5A' Execute the query
51Testing软件测试网}
Q9iWD^e query = "select * from customer"
51Testing软件测试网7f-EMY8HO+}'w7{ retcode = SQLExecQuery(connection,query)
51Testing软件测试网d9jE)e|_A+Q'
E_h:b8M%e0' retrieve the first 50 rows with the first 6 columns of each row into
51Testing软件测试网#E[#f5z1u&r|' the array destination, omit row numbers and put column names in the
~+r)c^Q_4Z0' first row of the array
51Testing软件测试网7dscN;b'
51Testing软件测试网Fd1r/]$l4B)k'Ti retcode =
SQLRetrieve(connection:=connection,destination:=destination,columnNames:=1,rowNumbers:=0,maxRows:=50,
maxColumns:=6,fetchFirst:=0)
0dp3mX,|0uk4|7?@/Fe(CN4T0' Get the next 50 rows of from the result set
,egc|7\8Aq4V9h0 retcode =
SQLRetrieve(connection:=connection,destination:=destination,columnNames:=1,rowNumbers:=0,maxRows:=50,
maxColumns:=6)
51Testing软件测试网S@"|q/H' Close the connection
\M#BI#yy_0 retcode = SQLClose(connection)
51Testing软件测试网 B!gy-k'hCUn)[End Sub
51Testing软件测试网1U/zw&Cp,@)M
KR{h0SQLGetSchema功能函数
51Testing软件测试网+}\*E&D,x },`z返回各类信息,包括数据源可用的信息,当前用户ID、表格名称、表格列的名称和类型、及其它数据源/数据库相关信息。
51Testing软件测试网6e|C1\d;cb%[[SQLGetSchema (connection& , action% , qualifier$ , ref() )
&u0EP
R;d3E0语法: 参数 解释
51Testing软件测试网E;S5k}+BqM%nconnection& 由SQLOpen返回的一个长整形。
51Testing软件测试网W#_(r9Y-?0iSaction% 必需项。
51Testing软件测试网
ID7HF2t$Tqualifier$ 必需项。
51Testing软件测试网E)pRrtudgaref() 动作请求的对应的结果的变量数组,必须有一个数组即使仅一个参数的一维数组。返回值是一个变量。
XUi)l6L6V+iD{0注解:
51Testing软件测试网R O4i9CmC6m
x返回一个负数表示一个错误。如果请求信息不能被访问或连接不能用,将返回-1。目标数组必须适当地定制以支持动作或错误返回。动作2和3不是普遍被支持的。动作4返回所有表格并不支持权限使用。不是所有
数据库产品和ODBC驱动支持所有动作。
51Testing软件测试网A7e8l)K7K+T;D动作对应解释表:
51Testing软件测试网N*fw;Sz+F:QE动作 具体注释说明
51Testing软件测试网8m E`'p}U/U'Z1 现有可用数据源列表(dimension of ref() is one)
51Testing软件测试网1nt-i;Kip#W2 当前连接上的数据库列表(不支持)
z+Y)x"^p$U;h"_.@03 当前连接上数据库的所有者列表(不支持)
9iV4NF;X6q;\p3m04 指定连接上的表格列表
J\,`Q4lL8eCt+L6H05 由合法用户指定表格的栏列的列表(ref() 必须2维)。返回列栏名称和SQL数据类型。
)E*?0t5A~06 当前连接使用者的用户ID
C}V*T)My07 当前数据库的名称
gg\+]V#]08 当前连接的数据源的名称。
p-zudT^]2Y09 数据源使用的DBMS的名称(例如Oracle)。
N@ZR;lq010 数据源的服务器名称
7GUX6YP011 数据源表示拥有者的术语
L Eq*nA~ \S012 数据源表示表格的术语
'o2JNJ{r2K#lR
S}[013 数据源表示合法用户的术语
51Testing软件测试网3E-lq5N6^]6rv14 数据源表示过程的术语
51Testing软件测试网;n;b2t.n?n(i51Testing软件测试网Y,~o6x8dGk"U ISQLGetSchema Example
51Testing软件测试网1zTm6G$[)m]-Q9dThis example opens the data source named "SblTest," gets the names in the ODBC data sources, and closes the connection.
F8i4C7t/iH%b:An"y9d0Sub main
\!zw#K(r`0' Declarations
51Testing软件测试网L3`@i
F#e&`'
51Testing软件测试网,B[vvi L Dim outputStr As String
51Testing软件测试网rz1oW
w
M Dim connection As Long
51Testing软件测试网6P+[M~2VLz9tg8Q Dim prompt As Integer
\tMEc(s0 Dim datasources(1 To 50) As Variant
51Testing软件测试网c
sDOz| ]-C Dim retcode As Variant
51Testing软件测试网g1W^y$mc] Dim action1 as Integer
O'U5Z"~$_#w0 Dim qualifier as String
51Testing软件测试网`4h @f3rD YLcAw
J0 prompt = 5
51Testing软件测试网I[
Ci
] s' Open the datasource "SblTest"
6u}/z CZ#T0 connection = SQLOpen("DSN=SblTest", outputStr, prompt:=5)
SF tua]U\feS0 'v[q/tp3S/U4t0 action1 = 1 ' Get the names of the ODBC datasources
B:@bH7k ~*NHSp0 retcode = SQLGetSchema(connection:=connection,action:=1, qualifier:=qualifier, ref:=datasources())
51Testing软件测试网6k^m(FJ' Close the datasource connection
!OA`Y&h#m2dDlg0 retcode = SQLClose(connection)
3bW`)a;D
m~O NX0 ^ jt}]YF0End Sub
!po'm
c#o.gvi0X%Y,z0w
^!vI+~/dm0SQLOpen 功能函数
51Testing软件测试网P9FAM9@9@ ii建立一个到在connectStr里指定的ODBC数据源的连接并返回一个连接ID,并将完全的连接字符串赋予outputStr变量。如果连接不可用,返回ODBC错误的负数。
*i1o(k(q-Y0SQLOpen ( connectStr$ [ , outputStr$] [ , prompt%] )
51Testing软件测试网%|I*I[I)O%G zE#g语法: 参数 解释
51Testing软件测试网,Iu
{/ET"?connectStr$ 指定参数,必须参数。
%wcoo;` CF0outputStr$ 可选
51Testing软件测试网ui)Q0}B
J8tG{V0r uuprompt% 可选。Prompt指定何时驱动对话框出现。可选项:
$qP9J%o8y-k01 对话框永远出现
51Testing软件测试网{uV9e-Q2 说明不够充分以建立连接时打开驱动对话框
$f/vHptR;t L2nU03 同2,对话框内容为灰色,不能修改
51Testing软件测试网\5V/fITTG4 对话框不出现,连接不成功,则返回一个错误
1f!{{@X2HI
]0注解:
51Testing软件测试网w(Xwu9F关于connectStr的内容描述在ODBC微软程序员参考手册。典型字符串形式为"DSN=datasourcename; UID=myid; PWD=mypassword"。返回长型long型。
ma(Q1z#@%sm;YI3A)`"B0当prompt缺省时,SQLOpen使用2作为默认值。
51Testing软件测试网MzgOMcSQLOpen Example
51Testing软件测试网+s}es%BuThis example opens the data source named "SblTest," gets the names in the ODBC data sources, and closes the connection.
51Testing软件测试网on6uc z6p D,z&](jSub main
51Testing软件测试网"e7s8h+a:vS' Declarations
q5Tk5H3^e4jZ0'
;S9kXve0 Dim outputStr As String
51Testing软件测试网a2T3Be]V V.Q;^6s Dim connection As Long
'u fJ/u)o!s#R0 Dim prompt As Integer
F$~+?lbw?0 Dim datasources(1 To 50) As Variant
!a?n
S7hK0 Dim retcode As Variant
D/lUDKJ0 Dim action1 as Integer
51Testing软件测试网%[`2B9Z_"D%Q Dim qualifier as String
i
j8gy^/D$cZA0 ;Fi+lq}"R:y@q0 prompt = 5
-p G&Y5K%Xf-N\0' Open the datasource "SblTest"
(j*C3g/c u'D*Q'c D0 connection = SQLOpen("DSN=SblTest", outputStr, prompt:=5)
dfa{V"vta
uc0 51Testing软件测试网}m;N)?
{~8[ action1 = 1 ' Get the names of the ODBC datasources
51Testing软件测试网:ec
\ _j&c(N-T retcode = SQLGetSchema(connection:=connection,action:=1, qualifier:=qualifier, ref:=datasources())
)QL:Mr
a I,i0' Close the datasource connection
^K9Y*VX*xC7c#[Q0 retcode = SQLClose(connection)
U
r Pr-m;|-ZR,xK0 51Testing软件测试网ihb
p_End Sub