我在面试问题中得到了这个。
您有一个带有asp.net后端的sql页面。你运行asp页面,出现表单,你在字段中输入数据。单击submit,页面返回,没有抛出任何错误/异常。
查看数据库表,没有在相应的表中输入任何值。
您将如何调试此问题?
发布于 2011-07-11 00:01:56
有很多方法可以解决这个问题。脑海中浮现的几个人可能会使用剖析器。SqlServer有一个分析工具,允许您查看针对数据库执行的所有事务。我想大多数其他商业数据库都有类似的东西。
您使用的是asp.net,所以我假设Visual Studio是可用的,它具有丰富的调试工具来测试您的数据访问逻辑。
我的程序首先是调试我的代码,并确保没有逻辑错误。我可能会查看调用存储过程的方法,该存储过程将数据插入到数据库中,并确保映射到过程参数的数据是正确的。然后,我将执行该过程,并确保在我的代码中没有异常被“吞噬”。如果这通过了,我将确信这是数据库的问题,我将继续分析/检查我的存储过程的逻辑,包括使用从代码发送到proc的值来调试过程。
希望这能有所帮助。
发布于 2011-12-02 10:36:41
使用Visual Studio,在将请求提交到数据库的代码之前稍微设置一个断点。以调试模式启动站点(如果可以使用Cassini,则很容易;否则将调试器附加到正在运行的IIS进程)。当断点命中时,单步执行,并确保提交的参数符合预期。
如果一切正常,那么使用SQL Profiler查看发送到数据库的确切命令。如果看起来正确,请将T-SQL从SQL Profiler复制并粘贴到Management Studio中,并查看它在那里的行为是否正确。如果它在Management Studio中按预期工作,但在您的应用程序中不能正常工作,请考虑关联的SQL Server用户/标识可能存在的权限问题。
https://stackoverflow.com/questions/6642029
复制相似问题