ExecuteScalar的学习日志

本文探讨了在调用SQLHelper类时遇到的异常情况,分析了返回值为null的原因,并对比了ToString与ConvertToString方法的使用差异。此外,还介绍了ExecuteScalar方法的正确用法及其应用场景。

一:今天写关于调用sqlhelper类的时候出现了一个异常,我仔细观察没有错误啊,怎么回事:看图

二:出现错误时id的结果是0,也就是说ExcuteScalar的结果是null,明明数据库里有多行数据,首行首列不应该是空啊,我将id改为int类型进一步验证,如下图,此时没有出错,,但不知这个0是怎么回事


三:之前是用Tostring()转换,接下来我用Convert ToString()转换,却没有出现异常,如下图,结果设么也看不到,进一步证明了是null的说法,但为什么会出现这样的不同呢?


四:当然我这样用ExecuteScalar让大家看笑话了,它的正确用法-----有实际意义的用法,仅用于order by 和select的SQL语句,或插入一条数据信息时,常常需要马上知道刚才插入的值如下,如下两图:

 


五:关于为什么是空的解释和Tostring()、Convert ToString()的不同
1.update是没有选出来表里的信息的(可以到数据库里,把对应的update sql语句输入,是得不到表的,所以不存在首行首列),即,得到的值为DBnull,它不能.tostring了
2.通常情况下ExecuteNonQuery操作后返回的int类型的变量,而ExecuteScalar操作后返回的是object类型的变量,例如插入一条信息,需要知道刚才插入的值,如上图
3.string str1="" 和 string str2=null 的区别,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的;string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错。
4.object.tostring:是从object里继承来的方法,对于空引用和DBNull(未初始化值)的对象直接调用.ToString()会引发异常
convert.tostring:是把object转换为string对象,可以把DBNull/Null转化为String.Empty

 

 

系统框架: (1)普通用户功能: 个人资料管理:用户通过注册和登录创建个人资料,包括基本信息(如身高、体重、年龄、性别等)以及健康目标(如减肥、增肌等)。系统将根据这些信息为用户定制个性化的饮食建议。 食物数据库:提供详细的食物营养成分信息,包括每种食物的卡路里、营养成分(如蛋白质、脂肪、碳水化合物等)、过敏源等。用户可以方便地查询食物信息,并记录每日摄入量。 饮食记录:用户每天记录自己的饮食情况,系统根据饮食记录自动计算卡路里摄入量,并生成数据报告,帮助用户评估饮食是否符合健康标准。 个性化推荐:利用机器学习算法分析用户的饮食习惯、健康目标以及运动数据,提供个性化的饮食推荐。系统根据用户的实时需求(如减肥、增肌等)调整推荐策略,确保用户获取最合适的饮食建议。 社交平台:用户可以在平台上与其他用户分享饮食经验、健身心得、进展数据等,互相鼓励、互动,增强健康管理的持续性和积极性。 (2)管理者功能: 用户管理:管理者可以查看所有用户的基本资料、健康目标和饮食记录等信息,帮助指导用户提供个性化的饮食建议。管理者还可以对用户进行管理,如禁用或删除不符合规定的账户。 食物数据库管理:理者可以添加、编辑和删除食物数据库中的食物信息,确保数据库内容的准确性和时效性。也可以管理食物的过敏源和营养成分数据。 饮食记录监控:管理者可以查看所有用户的饮食记录,分析整体饮食趋势,发现异常或不健康的饮食习惯,并提供改进建议或通知相关用户。 个性化推荐策略调整:管理者可以根据大数据分析调整推荐算法或策略,优化个性化饮食建议的效果,提升用户体验。根据平台发展需求,管理者可调整推荐规则和算法。 内容审核与社交平台管理:管理者负责平台上用户分享内容的审核,确保用户发布的内容不违反规定。管理者可以删除不合规的帖子,并为用户提供引导,确保平台的积极健康氛围。 (3)系统安全与权限管理: 普通用户 只能查看和管理自己的个人资料、饮食记录等。 可以在平台上分享自己的经验和进展。 获取个性化的饮食推荐和健康建议。 管理者 拥有对所有用户数据、食物数据库、饮食记录等的查看和管理权限。我想完成有这些功能的app,并且有管理员管理系统。可以根据我的系统功能要求实现更加详细的第一阶段:开发管理员管理系统(使用 SQL Server 和 Visual Studio)吗?我需要详细步骤和详细的代码
最新发布
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值