用vb编写有关数据库编程的问题

minmin 2001-09-17 07:57:12
我是个vb新手,在编一个程序是遇到了一个问题。我建好了一个数据库,用ado连接后,我想要达到这样的效果,输入一个在数据库里存在的编号,就自动在另一个输入框里显示相应的内容。第一次执行是没有问题,就是在每我改变第一个数时,就产生错误:binding collection error,field not updatable,……望高手指教,解决我的问题,应该怎么改,谢谢。
我的代码是这样的:
Private Sub Form_Load()
txtCode.DataField = "code"
txtName.DataField = "name"
End Sub

Private Sub txtCode_Change()
Dim SQL As String
SQL = "SELECT name "
SQL = SQL + " From name"
SQL = SQL + " Where code = "
SQL = SQL + txtCode.Text
Adodc1.RecordSource = SQL
Adodc1.Refresh
End Sub
...全文
110 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshinecom21 2001-09-18
  • 打赏
  • 举报
回复
其实这样也可以
当然不要把txtcode绑定
Adodc1.Recordset.MoveFirst
For i = 0 To Adodc1.Recordset.RecordCount - 1
If Adodc1.Recordset.Fields("code").Value = txtCode Then
txtName = Adodc1.Recordset.Fields("name").Value
Exit Sub
End If
Adodc1.Recordset.MoveNext
Next i
minmin 2001-09-18
  • 打赏
  • 举报
回复
谢谢帮助
pengcheng 2001-09-17
  • 打赏
  • 举报
回复
同意楼上的。
starbattler 2001-09-17
  • 打赏
  • 举报
回复
哈哈终于被我找到原因了!!!
首先你要保证adodc1.recordsource属性设置为命令类型1-adCmdText 在命令文本中写如
select 需要字段名 from name

然后我建议不要把修改记录的代码放在txtCode_Change()事件中,不然你想输入15,结果刚输了1事件就被执行了,不好!!用个command好了。在command1()事件中写入以下修改代码Dim SQL Dim SQL As String
SQL = "SELECT name ,code "
SQL = SQL + " From name "
SQL = SQL + " Where code = "
SQL = SQL & Text1.Text
Adodc1.RecordSource = SQL
Adodc1.Refresh
Set Text1.DataSource = Adodc1
Text1.DataField = "Au_ID"
Set Text2.DataSource = Adodc1
Text2.DataField = "author"

我已经在我机器上通过了,呵呵!!

lovercat 2001-09-17
  • 打赏
  • 举报
回复
Private Sub txtCode_Change()
for i=1 to len(textcode.text)
.....
if not adodc1.eof then
...
adodc1.close
else
adodc1.close
end if
next


对不?大概就这思路
sunking 2001-09-17
  • 打赏
  • 举报
回复
1,你用绑定文本框的方法时,当文本框中的内容改变时,数据库是要更新的,所以你应该把第一个绑定去掉:txtCode.DataField = "code"去掉
2,你的查询语句不应放txtCode_Change里面,或者放在Keypressed中当按回车时开始查询,或者另外设置一个查询的按钮
3,在做字符串连接时不要用“+”,应该用“&"否则容易错误的。
sonicdater 2001-09-17
  • 打赏
  • 举报
回复
在 Private Sub txtCode_Change()

中 重新 binding 一次 ,即 txtCode.DataSource= ADODC1:txtName.DataSource= ADODC1
试试

shawls 2001-09-17
  • 打赏
  • 举报
回复
晴空
lovercat 2001-09-17
  • 打赏
  • 举报
回复
Private Sub txtCode_Change()

里边我想应该放入循环。

1,217

社区成员

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

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