# Re: 这个 SQL 语法对吗 ?

Posted by 纪文和 on June 29, 1998 at 01:20:07:

In Reply to: Re: 这个 SQL 语法对吗 ? posted by kkcheung on June 27, 1998 at 10:24:05:

再请教你所指可以不用data1及dbgrid,那可以怎样?

使用 Data Bound Control 是抓资料(查询)最简单方便的
工具,对于单一 Table 的存取, 也很容易处理, 但是在程
式语言上, 通常有利即有弊, 对于比较复杂的输入处理,
或交叉查询, 常常会有想作某些动作, 却苦无出力点的麻
烦, 但是 VB 本身也相对的提供了一套完整的物件, 在
Data Bound Control 之外, 让程式开发者有一个更容易
作细部处理的途径. 在我们集团那么多公司(20-30)的系
统中, 大部份都不是使用 Data Bound Control而是直接
使用资料库物件来开发的 ! (虽然是稍微麻烦一点点)

扯远了, 您的问题是这样的 :

Dim db as Database '资料库物件
Dim ss as snapshot '资料集物件
Dim wsql as string 'SQL 字串
Set db = OpenDatabase(资料库/ODBC Data Source)
wsql = "Select Field1,field2.. from Table1 where "
wsql = wsql & "cust_id = '" & Text1 & "'"
Set ss = db.CreateSnapshot(wsql) 'ODBC则是(wsql,64)
If ss.RecordCount > 0 Then '至少找到一笔资料
Do while not ss.EOF
'将资料由搬到 Text 或 (db)Grid
'例: Text1.text = ss("Field1") & ""
ss.Movenext
Loop
End If

Follow Ups: