| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 973 人关注过本帖
标题:求助, ExecuteScalar 的错误.
只看楼主 加入收藏
novker
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-10-20
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
求助, ExecuteScalar 的错误.
        public int getlistnum(string datestr)      
          {
            string sqlstr = "select count(*) from 永远where 时间='" + datestr + "'";
            OleDbCommand mycmd = new OleDbCommand(sqlstr, myconn);
            if (mycmd.ExecuteScalar() == null)  // 提示  "至少一个参数没有被指定值。"  错误,  新学c#,不知道怎么用 ExecuteScalar() 请给予帮助.
            {
                return 0;
            }
            else
            {
                Int32 num = (Int32)mycmd.ExecuteScalar();
                return num;
            }
        }
搜索更多相关主题的帖子: public return count where 
2010-09-13 08:41
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
收藏
得分:2 
永远where这两者之间要有空格

2010-09-13 09:20
novker
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-10-20
收藏
得分:0 
是有空格的,复制代码的时候没有复制上.   问题不是空格的事.  谢谢
2010-09-13 10:21
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:4 
OleDbCommand mycmd = new OleDbCommand(sqlstr, myconn);
上面这句话里面你没有myconn的定义,所以mycmd没有办法知道该往哪里连接?!
2010-09-13 13:37
mjx5
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:47
注 册:2010-3-22
收藏
得分:4 
个人意见:
首先确保你的连接没有问题。我是SQLserver 的数据库。
 string sqlstr = "select count(*) from 永远where 时间='" + datestr + "'";
            sqlCommand mycmd = new sqlCommand(sqlstr, myconn);
int num=convert.toint32(cmd.ExecuteScalar());
if (num>0)
{   
.........
}
else
{
.........
}

);

2010-09-14 08:58
novker
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-10-20
收藏
得分:0 
回复 4楼 c1_wangyf
连接没有问题,可以登陆的时候需要密码.
2010-09-14 11:27
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:0 
在这个函数里面没有传入的myconn的参数,这样你要用它的话那一定是在前面把它定义为public了?!所以建议你把出问题的那里用try catch扑捉一下看看是什么问题 。。。改动如下:这样出问题的话就会显示相关的信息。
 public int getlistnum(string datestr)      
          {
            string sqlstr = "select count(*) from 永远where 时间='" + datestr + "'";
            try{
            OleDbCommand mycmd = new OleDbCommand(sqlstr, myconn);
            if (mycmd.ExecuteScalar() == null)  // 提示  "至少一个参数没有被指定值。"  错误,  新学c#,不知道怎么用 ExecuteScalar() 请给予帮助.
            {
                return 0;
            }
            else
            {
                Int32 num = (Int32)mycmd.ExecuteScalar();
                return num;
            }
            }
             catch(exception ex)
            {
              messagebox.show(ex.message);
            }

        }
2010-09-14 12:04
novker
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-10-20
收藏
得分:0 
哈哈 ,运行通过了。 谢谢.  c1_wangyf 和 mjx5 和 红色警戒  ,结贴了。
2010-09-14 14:45
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
收藏
得分:0 
通过就好!!
2010-09-14 21:40
快速回复:求助, ExecuteScalar 的错误.
数据加载中...
 
   



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

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