VB数据库SQL语句查询

有text1.text=编号,combo1.text=年份,combo2.text=月份,combo3.text=日,在输入年、月、日时间后点击“添加”按钮,点击以后要判断在输入的日期内有无编号,比如输入的是2011,4,8日的,编号是1,则要判断在这天有没有编号1,如果有就提示不能输入,如果没有则添加进数据库。编号、年份、月份、日都在“订餐管理”表中,字段是编号、年、月、日。要这样实现怎么写,想了好久都不会。求各位大仙帮帮忙。
Adodc1.RecordSource = "select * from 订餐管理 where 年='" + Combo1.Text + "'and 月='" + Combo2.Text + "'and 日='" + Combo3.Text + "'"这句是我写的。。。提示from子句语法错误。
adodc、datagrid控件,adodc控件绑定是不是直接在属性框直接绑定,4.0什么什么,然后选2,选表名“订餐管理”??

唉 你在"and"的前面 多加一个空格吧追问

还是from子句语法错误,然后就是对象'Refresh'的方法'IAdodc'失败。
Adodc1.RecordSource = "SELECT * FROM 订餐管理 WHERE 年='" + Combo1.Text + "' AND 月='" + Combo2.Text + "' AND 日='" + Combo3.Text + "'"
Adodc1.Refresh
DataGrid1.Refresh
语句是这样的。

追答

嗯 这个你先用SQL的查询分析器 运行一下这条SQL语句 看看是哪里出的问题

追问

用SQL查询分析器执行SELECT * FROM 订餐管理 WHERE 年 ="2012" AND 月 = "2" AND 日 = "2"能查到记录。
提示“from子句语法错误,然后就是对象'Refresh'的方法'IAdodc'失败。”错的好像是Adodc1.Refresh这句,不知道怎么回事

追答

如果这样还不行的话 我想你还是用Connection对象和 Record对象操作试试看吧。

我平时也没用过这个ADODC这个控件.所以也不清楚

Dim conn as New ADODB.Connection
Dim Rs as New ADODB.RecordSet
conn.ConnectionString=""
conn.Open
rs.Open "sql语句",conn,1,1
Set DataGrid1.DataSource=rs
基本上应该是这样写的了吧
有好几年没写VB代码了 嘿嘿 已经忘记一些了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-08
sql语句看起来没错,Combo1.Text 取出来的值是你选中的项的值吗?追问

combo1下拉有2010-2015,combo1.text=选的那个年份,比如在下拉后选了2011,combo1.text=2011.
现在就是不知道怎么用SQL语句定位到那一天的数据然后在那一天超找是否有这么编号。
ADODC的绑定也不是很清楚。

第2个回答  2011-04-08
Adodc1.RecordSource ="select * from 订餐管理 where 年='" + Combo1.Text + "' and 月='" + Combo2.Text + "' and 日='" + Combo3.Text + "'

注意空格!
第3个回答  2011-04-08
Adodc1.RecordSource = "select * from 订餐管理 where 年='" + Combo1.Text.tostring()+ "' and 月='" + Combo2.Text.tostring() + "' and 日='" + Combo3.Text.tostring() + "'"
两个问题,
1、控件用Text.tostring()取字符串,比较规范。
2、你and命令少了空格。
相似回答
大家正在搜