ado连接access。请高手指教。

c_word 2003-06-17 02:07:22
在FORM上建了1个Button控件和2个textbox控件。可是调试的结果是FROM字句语法错误。不知道为什么。
付上源代码:请高手指教。第一次写VB~
Dim a As String
Dim b As String

Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnn As String
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
cn.Open cnn
Set rs = cn.Execute("SELECT sign FROM user WHERE UserName = a")
b = rs(sign)
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
a = KeyAscii
End Sub

Private Sub Text2_Change()
Text2.Text = b
End Sub
...全文
17 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
newste 2003-06-19
  • 打赏
  • 举报
回复
把user用[]挎起来要不还会有错误的[user]
dgyujingjun 2003-06-19
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
dim SQL as string
Dim cnn As String
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
cn.Open cnn
SQL="SELECT sign FROM user WHERE UserName ='" + trim(text1) + "'"
rs.Open SQL, CNT, adOpenKeyset, adLockPessimistic
text2 = rs.fields("sign")
End Sub

huwei78 2003-06-19
  • 打赏
  • 举报
回复
改成这样
Set rs = cn.Execute("SELECT sign FROM user WHERE UserName = '" & a & "'")



a 是字符变量哦

zheng518 2003-06-19
  • 打赏
  • 举报
回复
我认为可能因为类型不符,造成该语句执行错误,尤其下面事件过程有问题,我只是试试。
Private Sub Text1_KeyPress(KeyAscii As Integer)
a = KeyAscii
End Sub
dengyiwolf 2003-06-19
  • 打赏
  • 举报
回复
up
yinbin 2003-06-19
  • 打赏
  • 举报
回复
不能用USER这个字段命名,这是VB的专用的字
wamlaw 2003-06-19
  • 打赏
  • 举报
回复
Dim a As String
Dim b As String

Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnn As String
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
cn.Open cnn
Set rs = cn.Execute("SELECT sign FROM user WHERE UserName = 'a'")
if rs.recordcount>0 then
b = rs.fields(0)
end if
End Sub

Private Sub Text1_change()
a = text1.text
End Sub

Private Sub Text2_Change()
Text2.Text = b
End Sub

饮水需思源 2003-06-18
  • 打赏
  • 举报
回复
'再改一下
"select sign from [user] where username='" & a & "'"
if rs.recrodcoutn>0 then
text2.text=rs!sign &""
else
text2.text=""
end if
饮水需思源 2003-06-18
  • 打赏
  • 举报
回复
"select sign from [user] where username='" & a & "'"
text2.text=rs!sign &""
liuyiuhui 2003-06-18
  • 打赏
  • 举报
回复
text2 = rs!sign
这句话就是给text2的text属性赋值
sxs69 2003-06-17
  • 打赏
  • 举报
回复
数据量是否特别大(例如图象与声音文件)?在连接建立之后,TCP 协议将维护连接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。
cnhgj 2003-06-17
  • 打赏
  • 举报
回复
"select sing from [user] where username='" & a & "'"
c_word 2003-06-17
  • 打赏
  • 举报
回复
那text2的textbox控件怎么显示内容的?
c_word 2003-06-17
  • 打赏
  • 举报
回复
恩。我去试试。
liuyiuhui 2003-06-17
  • 打赏
  • 举报
回复
sikeen(阿士):说的有道理,如果你在user表中定义的字段Username是一个字
符型的,应该用sikeen那样的形式,如果你用的是字段是数字的话则是如下的
形式:("SELECT sign FROM user WHERE UserName = " & a )如果是日期
或其它形式,则更复杂一些,如果是图像的话,则要做相应的处理.
另外,你的变量a接收的是一个数字,即你敲的是A的话,实际上是A的ASCII,
好象是97(我没记住),前不是字符 'A'
我觉得上面的过程,你的本义是:

'这2句可以删去
'Dim a As String
'Dim b As String

Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnn As String
cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Downloads\2\Web1.mdb;Persist Security Info=False"
cn.Open cnn
Set rs = cn.Execute("SELECT sign FROM user WHERE UserName ='" & text1 & "'")
text2 = rs!sign
End Sub

c_word 2003-06-17
  • 打赏
  • 举报
回复
现在提示为 Item cannot be found…………
fsroger 2003-06-17
  • 打赏
  • 举报
回复
SELECT sign FROM [user] WHERE UserName = '"& a &"'
fsroger 2003-06-17
  • 打赏
  • 举报
回复
SELECT sign FROM [user] WHERE UserName = 'a'
c_word 2003-06-17
  • 打赏
  • 举报
回复
还是提示这个错误~~~~~~~~
sikeen 2003-06-17
  • 打赏
  • 举报
回复
("SELECT sign FROM user WHERE UserName = a")

撇開其他問題,至少也應該是這樣

("SELECT sign FROM user WHERE UserName = '" & a & "'")
加载更多回复(1)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧