已有56人关注
ExecuteScalar()方法疑问
发表在C#图书答疑 2018-04-26 悬赏:2 学分 《C#项目开发实战入门》第1章 Q友——做你自己的QQ 30页-30页
是否精华
版块置顶:

       public int ExecSQL(string sql)

        {

            SqlCommand command = new SqlCommand(sql, connection);     //指定要执行的SQL语句

            if (connection.State == ConnectionState.Closed)         //如果当前数据库连接处于关闭状态

                connection.Open();                        //打开数据库连接

            int num = Convert.ToInt32(command.ExecuteScalar());     //执行查询

            connection.Close();                                 //关闭数据库连接

            return num;                                     //返回结果中的第一行第一列

        }

老师,command.ExecuteScalar()得到的是数据表tb_User第一行第一列的值10001吗?为什么强制转换后返回的num值为1呢?

捕获.PNG


分享到:
精彩评论 3
csharp99
学分:940 LV7
2018-04-26
沙发
sql语句有问题,返回的不是单一结果集,而是多行结果,请再修改sql语句增加条件
小飞侠_1518958572
学分:52 LV3
2018-04-26
板凳

csharp99 发表于2018-04-26 00:40

sql语句有问题,返回的不是单一结果集,而是多行结果,请再修改sql语句增加条件

这是书上的例子呀,运行是没有问题的,就是想问一下ExecuteScalar()方法,为什么强制转换后返回的num值为1呢

小禾斗
学分:7308 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2018-05-02
地板

小飞侠_1518958572 发表于2018-04-26 18:18

这是书上的例子呀,运行是没有问题的,就是想问一下ExecuteScalar()方法,为什么强制转换后返回的num值为1呢

跟你执行的SQL语句有关,看sql语句的查询结果是啥样的

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照