VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1151|回复: 8

很菜的问题啊,求大家帮个帮!急!

[复制链接]

5

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-24 09:30:01 | 显示全部楼层 |阅读模式
string select = "SELECT MIN(PhotoID) FROM Photo WHERE AlbumID = 1";
SqlCommand cmd = new SqlCommand(select, con);
object o = cmd.ExecuteScalar();
con.Close();
  if (o == null)
  {
        return 0;
  }
  else
{
     return Convert.ToInt32(o); 出错:对象不能从 DBNull 转换为其他类型。

  }
我设断点后可以确信 o 没错(o = 1), 这是为什么啊??我该怎么做呢???
谢谢大家了!!!
回复

使用道具 举报

2

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-7-3 22:00:01 | 显示全部楼层
改为return Convert.ToInt32(o.ToString());
回复

使用道具 举报

5

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-7-4 23:15:01 | 显示全部楼层
不行啊,return Convert.ToInt32(o.ToString()); 又会有"输出的字符串格式不正确"的异常!
回复

使用道具 举报

1

主题

60

帖子

37.00

积分

新手上路

Rank: 1

积分
37.00
发表于 2020-7-5 00:15:01 | 显示全部楼层
试试这个把

        object o = m_SqlCommand.ExecuteScalar();
        if (Convert.ToString(o)== "")
        {
            Response.Write("dfsdfds");
        }
        else
        {
            Response.Write(Convert.ToInt32(o));
        }
回复

使用道具 举报

0

主题

60

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-7-5 12:00:01 | 显示全部楼层
else
{
     return Convert.ToInt32(o); 出错:对象不能从 DBNull 转换为其他类型。

  }

这样可以吗
      return (int)o;
回复

使用道具 举报

2

主题

17

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-7-5 19:15:01 | 显示全部楼层
你返回的是什么类型?
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-10 18:30:01 | 显示全部楼层
object o = cmd.ExecuteScalar();
STRING P=O.TOSTRING();
con.Close();
  if (P == null)
  {
        return 0;
  }
  else
{
     return Convert.ToInt32(P); 出错:对象不能从 DBNull 转换为其他类型。

  }
回复

使用道具 举报

1

主题

60

帖子

37.00

积分

新手上路

Rank: 1

积分
37.00
发表于 2020-7-10 21:30:01 | 显示全部楼层
我上面不是给你写了码?你的sql语句如果没有值,返回值是空,所以你判断的不对,按照我上面写的没有问题
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-12 14:30:01 | 显示全部楼层

string o = Convert.ToString(cmd.ExecuteScalar());
con.Close();
  if (o == "")
  {
        return 0;
  }
  else
{
     return Convert.ToInt32(o);

  }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表