| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3401 人关注过本帖
标题:怎样解决“没有为命令对象设置命令”的错误?
只看楼主 加入收藏
zhangzhen
Rank: 2
等 级:论坛游民
帖 子:92
专家分:27
注 册:2011-3-4
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:12 
怎样解决“没有为命令对象设置命令”的错误?
     
程序代码:
 Private Sub dataQuery_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        REM 创建连接对象并打开连接
        Con = New ADODB.Connection()
        Con.ConnectionString = "Dbq=" & System.Windows.Forms.Application.StartupPath & "\钻孔情况表.mdb;Driver={Microsoft Access Driver (*.mdb)}"
        Con.Open()
        REM 创建记录集对象并获取表的数据
        Rec = New ADODB.Recordset()
        Rec.CursorType = ADODB.CursorTypeEnum.adOpenKeyset
        Rec.LockType = ADODB.LockTypeEnum.adLockOptimistic
        Rec.ActiveConnection = Con
        If 数据库.BindingNavigator.BindingSource Is 数据库.钻孔数据表BindingSource Then
            Rec.Open("钻孔数据表")
        ElseIf 数据库.BindingNavigator.BindingSource Is 数据库.钻孔情况表BindingSource Then
            Rec.Open("钻孔情况表")
        ElseIf 数据库.BindingNavigator.BindingSource Is 数据库.标贯表BindingSource Then
            Rec.Open("标贯表")
        End If
        REM 向第一个组合框中加入表中各字段的名称
        CmbFields.Items.Clear()
        CmbFields.Items.Add("字段名")
        Dim iCount As Integer
        For iCount = 0 To Rec.Fields.Count - 1 '错误:没有为命令对象设置命令
            CmbFields.Items.Add(Rec.Fields.Item(iCount).Name)
        Next
        CmbFields.SelectedIndex = 0

    End Sub
这是我的一段代码!问题好像就出在 数据库.BindingNavigator.BindingSource上 数据库是另外一个窗体,如果先启动的是数据库窗体,然后通过数据库窗体打开dataQuery就没有任何问题,但是如果把这两个窗体嵌入到主程序中,通过主程序打开数据库窗体,然后再打开dataQuery就会出现错误:没有为命令对象设置命令,我接触编程时间很多,对于很多东西都不是特别了解,不知我描述的是否清楚,望高手指点迷津,谢谢!
搜索更多相关主题的帖子: 怎样 
2011-07-11 19:21
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:20 
这可以是因为你的代码中的IF条件没有满足所造成的。通俗地讲,也就是REC没有OPEN所致。

另外,.NET下操作数据库用吧。在命名空间引用 imports system.data
我还是觉得楼主要找一个例子啃一啃才好。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-11 19:33
zhangzhen
Rank: 2
等 级:论坛游民
帖 子:92
专家分:27
注 册:2011-3-4
收藏
得分:0 
回复 2楼 不说也罢
确实是这样的 是if语句没有满足,但是当数据库窗体是启动窗体时就正常啊  为什么嵌入主窗体后if语句就不能满足了呢?找些什么例子呢?
2011-07-11 19:43
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
名称为“数据库”的窗体没有被初始化时,是无法获得数据库.BindingNavigator.BindingSource的,导致你的IF条件不能满足
你尝试在主窗体的LOAD事件中,加入加载数据库的窗体的代码。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-11 20:05
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
找例子
http://www.baidu.com/baidu?word=vb%2Enet+%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%9E%E4%BE%8B&tn=ylmf_2_dg&ie=utf-8

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-11 20:07
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
本论坛也有很多例子:
https://bbs.bccn.net/forumdisplay.php?fid=114&filter=digest
要学会使用论坛的搜索功能哦

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-11 20:08
zhangzhen
Rank: 2
等 级:论坛游民
帖 子:92
专家分:27
注 册:2011-3-4
收藏
得分:0 
回复 4楼 不说也罢
能为我解释一下吗 我按着你说的做 可以打开dataQuery窗体,但不懂这是为什么?
2011-07-11 20:41
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
这是一个很简单的逻辑问题啊。你在顶楼的代码中,引用了名称为“数据库”的窗体对象,该窗体中的BindingNavigator.BindingSource属性没有被设置,肯定是满足不了你的判断条件。你看一下,数据库.BindingNavigator.BindingSource属性是何时设置的?肯定不在LOAD事件中吧。窗体的构造函数里肯定也没有。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2011-07-11 20:55
zhangzhen
Rank: 2
等 级:论坛游民
帖 子:92
专家分:27
注 册:2011-3-4
收藏
得分:0 
回复 8楼 不说也罢
还是麻烦你帮我看一下吧 我改了一个简易的程序,具体问题也在read me.txt中有所描述,按着你说的我还是,查询窗体能出现,但是查询无法进行,我都快搞糊涂了,我真的不懂,就是看一些代码,也无济于事!谢谢! 附件见楼下!
2011-07-11 22:21
zhangzhen
Rank: 2
等 级:论坛游民
帖 子:92
专家分:27
注 册:2011-3-4
收藏
得分:0 
2011-07-11 22:23
快速回复:怎样解决“没有为命令对象设置命令”的错误?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.062223 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved