VB中,怎样正确运用select语句?
"select * from student order by 出生年月"
怎样改正确呢?
多谢!!!
这两个句子输入没有问题的话,那么总是显示Adodc1.Refresh不正确的原因是什么呢?
错误说FROM子句语法错误。 student这张表就是我绑定的数据库,那么为什么还是有问题呢? 展开
推荐于2016-03-04 · 知道合伙人软件行家
select是SQL结构查询语言命令之一。
1)SQL 语句,定义结构查询语言 (SQL) 命令的表达式,例如 SELECT、UPDATE 或 DELETE,也可能包括像 WHERE 和 ORDER BY
这样的子句。SQL 字符串语句一般在查询和 rdoResultset
对象中使用,但也可以用来创建或修改数据库结构。
SQL 语句的语法与数据源有关。
2)SELECT - SQL命令
句法:
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]]
[Alias.] Select_Item [AS Column_Name]
[, [Alias.] Select_Item [AS Column_Name] ...]
FROM [FORCE]
[DatabaseName!]Table [[AS] Local_Alias]
[[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN
DatabaseName!]Table [[AS] Local_Alias]
[ON JoinCondition …]
[[INTO Destination]
| [TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT]
| TO SCREEN]]
[PREFERENCE PreferenceName]
[NOCONSOLE]
[PLAIN]
[NOWAIT]
[WHERE JoinCondition [AND JoinCondition ...]
[AND | OR FilterCondition [AND | OR FilterCondition ...]]]
[GROUP BY GroupColumn [, GroupColumn ...]]
[HAVING FilterCondition]
[UNION [ALL] SELECTCommand]
[ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]]
3)
SELECT - SQL命令例子:
下面的例子说明了如何使用SELECT的用户定义的函数用法。
例子1
例子1 显示所有企业在客户的名称(从一个表中的一个字段)。
SELECT customer.company FROM customer
例子2
例子2 显示两个表中三个字段的内容,并加入基于cust_id字段的两个表。它使用本地别名两个表。
SELECT a.company, b.order_date, b.shipped_on FROM customer a, orders b WHERE a.cust_id = b.cust_id
例子3
例子3 仅显示在指定领域唯一的数据记录。
SELECT DISTINCT a.company, b.order_date, b.shipped_on FROM customer a, orders b WHERE a.cust_id = b.cust_id
例子4
例子4 显示国家,邮编和公司按升序领域。
SELECT country, postalcode, company FROM customer ORDER BY country, postalcode, company
4)VB将上述例句作为字符串赋值给ADO数据对象,或者ADO数据访问控件属性,进而完成数据查询。
代码1:
Private Sub Command1_Click()
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim ARR
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\wdOld.mdb;Persist Security Info=False"
sql = "select 故障名称 from guzhang_bm"
rs.Open sql, cnn
Combo1.Text = "故障名称"
Do While Not rs.EOF
Combo1.AddItem rs("故障名称")
rs.MoveNext '打开表
Loop
rs.Close
cnn.Close
End Sub
代码2:
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;Persist Security Info=False"
Adodc1.RecordSource = "select * from Authors"
Adodc1.Refresh
Debug.Print Adodc1.Recordset.Fields(2).Name
Set DataGrid1.DataSource = Adodc1
End Sub
select * from student where 姓名='"&text1.text&"'
第二句没什么问题啊!
单双引号要在英文状态下输入,否则会出错的!
" select * from student where 姓名 ='" & Text8.Text & "'" & "order by 出生年月"
注意点:
姓名,在数据库中一般定义为字符串类型的,一定要在值的两边加单引号(’),另外,vb中连接两字符串是用&. 如果你对自己写的sql有疑问,可以在拼出sql后,把该sql打印出来,放在数据库中执行看可以不可以得到结果。也算是调试吧。
在vb中打印语句。
比如 aa="just test"
debug.print aa