加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#’select count’sql命令错误地从sql server返回零行

发布时间:2020-12-15 03:53:21 所属栏目:百科 来源:网络整理
导读:我正在尝试从SQL Server表返回rowcount. ‘net上的多个来源显示下面是一个可行的方法,但它继续返回’0行’.当我在管理工作室中使用该查询时,它工作正常并正确返回rowcount.我只是用简单的表名以及管理工作室倾向于喜欢的完全合格的名称来尝试它. using (SqlC
我正在尝试从SQL Server表返回rowcount. ‘net上的多个来源显示下面是一个可行的方法,但它继续返回’0行’.当我在管理工作室中使用该查询时,它工作正常并正确返回rowcount.我只是用简单的表名以及管理工作室倾向于喜欢的完全合格的名称来尝试它.
using (SqlConnection cn = new SqlConnection())
            {
                cn.ConnectionString = sqlConnectionString;
                cn.Open();

                SqlCommand commandRowCount = new SqlCommand("SELECT COUNT(*) FROM [LBSExplorer].[dbo].[myTable]",cn);
                countStart = System.Convert.ToInt32(commandRowCount.ExecuteScalar());
                Console.WriteLine("Starting row count: " + countStart.ToString());
            }

有什么可能导致它的建议吗?

解决方法

将CommandType设置为Text
command.CommandType = CommandType.Text

关于.NET是否默认SqlCommandTypes键入Text的更多细节来自Damien_The_Unbeliever评论.

如果你在SqlCommand上拆开了CommandType的getter,你会发现有一些奇怪的特殊外壳,如果该值当前为0,它就会出现并表示它是Text / 1(类似地,从组件/设计的角度来看),默认值列为1).但实际内部值保留为0.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读