首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在vb.net中将阅读器的字符串值转换为整数值

如何在vb.net中将阅读器的字符串值转换为整数值
EN

Stack Overflow用户
提问于 2018-06-25 00:09:26
回答 1查看 244关注 0票数 1

我使用此代码来获取s_no的最大值,然后将其递增1。但是当数据库没有值时,它将读取空值,以及如何检查空值并将其转换为整数

cmd3 = New SqlCommand("select max(S_no) from dbo.place", con)
        dr1 = cmd3.ExecuteReader()
        If (IsNumeric(dr1.Read())) Then
            s_no = Integer.Parse(dr1.ToString()) + 1
        Else
EN

回答 1

Stack Overflow用户

发布于 2018-06-25 01:00:51

您应该按照soohoonigan在注释中的建议调用ExecuteScalar,但是您不能只将结果类型转换为Integer类型,因为如果没有记录,您仍然会得到NULL。使用您已有的SQL,您应该这样做:

Dim result = cmd3.ExecuteScalar()
Dim number = If(result Is DBNull.Value, 0, CInt(result))

这样,如果没有记录,你会得到0,递增它会得到1作为第一个值。

另一种方法是,如果没有记录,则将SQL更改为返回0:

select isnull(max(S_no), 0) from dbo.place

然后保证ExecuteScalar会返回一个Integer

Dim number = CInt(cmd3.ExecuteScalar())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51011682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档