中易网

VB中,怎样正确运用select语句?

答案:4  悬赏:0  
解决时间 2021-03-02 14:33
" select * from student where 姓名 = " '" & Text8.Text & "'"

"select * from student order by 出生年月"

怎样改正确呢?

多谢!!!
这两个句子输入没有问题的话,那么总是显示Adodc1.Refresh不正确的原因是什么呢?
错误说FROM子句语法错误。 student这张表就是我绑定的数据库,那么为什么还是有问题呢?
最佳答案
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 姓名 ='" & Text8.Text & "'" & "order by 出生年月" 注意点: 姓名,在数据库中一般定义为字符串类型的,一定要在值的两边加单引号(’),另外,vb中连接两字符串是用&. 如果你对自己写的sql有疑问,可以在拼出sql后,把该sql打印出来,放在数据库中执行看可以不可以得到结果。也算是调试吧。 在vb中打印语句。 比如 aa="just test" debug.print aa
" select * from student where 姓名 = " '" & Text8.Text & "'"这个单双引号搞错了! select * from student where 姓名='"&text1.text&"' 第二句没什么问题啊! 单双引号要在英文状态下输入,否则会出错的!

你的sql语句整句写错了~应该写成

set rs = cnn.execute("update 毕业生基本信息表 set 学号='" + text1(0) + "',姓名='" + text1(1) + "',性别='" + text1(2) + "',班级='" + text1(3) + "',系部='" + text1(4) + "',政治面貌='" + text1(5) + "',家庭住址='" + text1(6) + "',联系方式='" + text1(7) + "',qq='" + text1(8) + "'where 学号 = '" & text1(0) & "'")

set要写在where语句前的,这样试试~

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
吉娃娃怎么喂养? 三个月大的每天吃多少?
大家弹吉他的朋友左手指甲多少天剪一次
在线看电影全屏不能整个屏幕,只全屏一半,是怎
命运交响曲刘晨曦到底死没死
window域控制器坏了如可修复
如何测试1020打印机,主要测试的是电源板,具
什么材质做雷蒙磨辊磨擦片好
炒韭菜还放白酒吗?
创艺广告装饰地址有知道的么?有点事想过去
丁二酸酐加热溶于thf当中,冷却下来就析出来
天泽宾馆在什么地方啊,我要过去处理事情
现在在商丘市考驾照需要多少钱
中医院校的中西医专业与西医院校的中西医专业
永存酒楼我想知道这个在什么地方
牛头族的餐桌怎么样
推荐资讯
影响个人就业的因素主要有哪些
王家秘制卤肉我想知道这个在什么地方
上海新能源车牌政策细则:一个人可以买两辆新
日语在 动词后加のてす 起一个什么作用?
延边大学附近有牙所么?在哪啊。。。。
我梦见死人他来和他哥哥和我儿子玩
花孤山地址在什么地方,想过去办事
同春堂医药零售NO.22怎么去啊,有知道地址的
龙爪树冬天的枝要不要修剪掉?
气死牛柴油机的好还是汽油机的好
Defense Grid: The Awakening 中文名 防御阵
庵头村村在哪里啊,我有事要去这个地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?