Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:帮忙看看这个错误提示是什么意思?

1楼
cpayinyuan 发表于:2010/5/22 18:14:00

如题。

 


图片点击可在新窗口打开查看此主题相关图片如下:列出错提示.jpg
图片点击可在新窗口打开查看
2楼
mr725 发表于:2010/5/22 21:15:00
估计很难,最好贴出相关代码···    多半是列名称有误,或类型不匹配···(遐想)
3楼
狐狸爸爸 发表于:2010/5/22 22:55:00

这是最常见的错误了,楼主作为最早参与测试的用户,还被这种问题困扰是不应该的。

 

例如,在订单表中输入产品名称后,希望能够自动从产品表中取得对应产品的单价,并填入到单价列中,不少用户可能会如下编写代码:

 

1
2
3
4
5
6
7
8
9
10

If e.DataCol.Name = "产品名称" Then '如果内容发生变动的是产品列
    If e.NewValue Is Nothing Then '如果新值是空白,也就是产品列的内容为空
        e.
DataRow("单价") = Nothing '那么清空此行单价列的内容
   
Else
        '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        Dim
dr As DataRow
        dr = DataTables("产品").Find("[产品名称] = '" & e.NewValue & "'")
        e.DataRow("单价") = dr("单价")
    End
If
End
If

 

上面的代码看上去是没有问题的,但是疏忽了一个问题,就是订单表所输入的产品,可能在产品表中并不存在对应的行,这样第7行代码运行后,变量dr等于空值Nothing,从而导致第8行代码出错。

 

要怎么改,就不用我说了,这只是一个例子,凡是用到查找的地方,都要考虑找不到的情况。

[此贴子已经被作者于2010-5-22 22:56:48编辑过]
共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.