找回密码
 立即注册

QQ登录

只需一步,快速开始

zheng_hq

银牌会员

151

主题

391

帖子

2227

积分

银牌会员

积分
2227

活字格认证

zheng_hq
银牌会员   /  发表于:2011-11-11 16:41  /   查看:5985  /  回复:5
Public Sub bind_data()  
        Dim dltDataSet As DataSet    '建立数据源  相当于存储数据的容器
        dltDataSet = New DataSet()

        Dim dltConn As OleDbConnection = New OleDbConnection()   '连接数据库的工具
        dltConn.ConnectionString = strCon
        dltConn.Open()
      
     Dim dltCommand As OleDbDataAdapter = New OleDbDataAdapter(strcom, dltConn)
        dltCommand.Fill(dltDataSet, "dlt")     这里报错:未处理的oledbexception,至少一个参数没有制定参数值        FpSpread2.DataSource = dltDataSet.Tables(0)
        dltConn.Close()

    End Sub

建立.sln时,我把dlt.accdb数据库拷贝在project以及debug里面的

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2011-11-11 17:13:00
沙发

回复 1# zheng_hq 的帖子

你好,从提示信息上看,应该是
  1. Dim dltCommand As OleDbDataAdapter = New OleDbDataAdapter(strcom, dltConn)
复制代码
中的参数出错,因为你没有给出参数设置代码,所以没办法确定位置,可以查阅下 MSDN:

OleDbDataAdapter http://msdn.microsoft.com/zh-cn/ ... r%28v=VS.80%29.aspx
SqlCommand http://msdn.microsoft.com/zh-cn/ ... ent.sqlcommand.aspx
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-11-11 17:19:00
板凳
http://benchee.blog.51cto.com/1670230/381759

最近忙着给公司开发一个“生产管理系统”,结果因为一个问题搞到头大!

说白了,就是一句SQL代码搞的鬼:

sql = "SELECT * FROM 版材库存 WHERE ID=" & ID & ""

简单的不能再简单了,可是一直报错,提示“至少一个参数没有被指定值”。查了baidu上的很多资料,都说是因为数据表中字段的拼写或者是否存在等原因导致的,比如:

select * from mytable where a='1' and b='1'
但你的mytable没有a字段,解决此问题的方法就是认真的对照SQL语句和数据库表是否对应……

最令人纳闷的是,这句代码是从我原来编的程序里拷贝过来的,原来的运行十分正常,到现在就出问题了,郁闷ing...后来终于怀疑,是不是数据传输的不对。调出【本地窗口】,查看各个变量的值,赫然发现传递过来的值是:

Where ID=HG1030800

很明显这样不正确,应该是 Where ID='HG1030800' 才对,可是这个单引号加上去无论如何都不起作用,无奈...

后来想到,因为ID是字符串,所以才需要单引号,如果改为数字型,不就ok了?

回到数据表,把ID字段改为数字型,测试大功告成!
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-11-11 17:19:00
地板
我也是这样的呀,之前运行的好好的,突然就发生了,不可思议
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-11-11 17:30:00
5#
真的是 access 的问题呢,换了一个access数据库,问题解决了
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-11-11 17:35:00
6#

回复 4# zheng_hq 的帖子

~可以在
  1. Dim dltCommand As OleDbDataAdapter = New OleDbDataAdapter(strcom, dltConn)
复制代码
处加断点,把 sql 字符串值拷贝出来,在 Access 中执行,看是否成功。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部