一些VB数据库的简单问题!

来源:百度知道 编辑:UC知道 时间:2024/05/12 05:16:42
1.我想用如下的程序代码修改数据库的相关数据,但没有成功,请指出其中的问题(本人初学这个,呵呵):
For i = 0 To 5
Adodc1.Recordset.Fields(i) = Text1(i).Text
Next i
MsgBox "修改成功!", , "硕士"
Adodc1.Recordset.Update
Adodc1.RecordSource = "select * from 联系"
Adodc1.Refresh
2.当我的access数据库有的字段没有数据时,为什么我用adodc1.recordset.fields(i)时会出现错误?它不能返回空值null吗?
3.怎样使点击datagrid时候,使access数据库字段的数据显示在文本框中?我下面的这个程序为什么不行?
For i = 0 To 5
Text1(i).Text = Adodc1.Recordset.Fields(i)
Next i

在这里,我提了好多问题,希望各位高手为小弟解答,小弟由于初学这个,不懂得太多,看书也看不太明白,故在此发问题请教各位大侠,在此小弟先谢谢了!!!

1.文本框的数据类型必须与数据库相应的字段类型一样,例如文本框里面是字符串"Hello!",如果数据库相对应的字段是日期类型就会出错。

2.文本框不接受Null值,可以用判断语句把Null值变为空字符串""
像这样:
Private Sub DataGrid1_Click()
Dim i As Integer
For i = 0 To 5
'用IsNull()函数判断数据是否为Null
If IsNull(Adodc1.Recordset.Fields(i)) Then
'如果为Null , 将文本框置空
Text1(i).Text = ""
Else
Text1(i).Text = Adodc1.Recordset.Fields(i)
End If
Next i
End Sub
3. 如果前两个问题解决了,那这个问题就迎刃而解了。

另外,创建数据库时,可以设置字段是否可以为Null和空字符串,它们的含义是不同的

NULL是表示不知道的值,也就是可能是任何值,不能给TEXT1.text设置为NULL值 你可以加个on error resume next 来处理第2个问题