ASP.Net&;SQL Server后端调试面试问题

ASP.Net&;SQL Server后端调试面试问题,asp.net,sql-server-2005,Asp.net,Sql Server 2005,我是在一个面试问题中得到这个的 您有一个带有sql后端的asp.net页面。运行asp页面,表单出现,在字段中输入数据。单击submit,页面返回时不会抛出错误/异常 在数据库表中查找,在相应的表中没有输入值 您将如何调试此问题?有很多方法可以调试此问题。一些人会想到使用分析器。SqlServer有一个分析工具,允许您查看针对数据库执行的所有事务。我想大多数其他商业数据库都有类似的功能 您使用的是asp.net,因此我假设Visual Studio是可用的,它有丰富的调试工具来测试您的数据访问逻

我是在一个面试问题中得到这个的

您有一个带有sql后端的asp.net页面。运行asp页面,表单出现,在字段中输入数据。单击submit,页面返回时不会抛出错误/异常

在数据库表中查找,在相应的表中没有输入值


您将如何调试此问题?

有很多方法可以调试此问题。一些人会想到使用分析器。SqlServer有一个分析工具,允许您查看针对数据库执行的所有事务。我想大多数其他商业数据库都有类似的功能

您使用的是asp.net,因此我假设Visual Studio是可用的,它有丰富的调试工具来测试您的数据访问逻辑

我的过程首先是调试代码并确保没有逻辑错误。我可能会查看调用存储过程的方法,该存储过程将数据插入数据库,并确保映射到过程参数的数据是正确的。然后,我将执行该过程,并确保代码中没有“吞没”异常。如果通过,我将确信这是数据库的问题,并且我将继续分析/检查存储过程的逻辑,包括使用从代码发送到proc的值调试该过程


希望这有帮助。

有很多方法可以解决这个问题。一些人会想到使用分析器。SqlServer有一个分析工具,允许您查看针对数据库执行的所有事务。我想大多数其他商业数据库都有类似的功能

您使用的是asp.net,因此我假设Visual Studio是可用的,它有丰富的调试工具来测试您的数据访问逻辑

我的过程首先是调试代码并确保没有逻辑错误。我可能会查看调用存储过程的方法,该存储过程将数据插入数据库,并确保映射到过程参数的数据是正确的。然后,我将执行该过程,并确保代码中没有“吞没”异常。如果通过,我将确信这是数据库的问题,并且我将继续分析/检查存储过程的逻辑,包括使用从代码发送到proc的值调试该过程


希望这有帮助。

使用Visual Studio,在将请求提交给DB的代码之前稍设置一个断点。以调试模式启动站点(如果可以使用Cassini,则很容易;否则,请将调试器附加到正在运行的IIS进程)。当断点到达时,单步执行并确保提交的参数符合预期


如果一切正常,那么使用SQL Profiler查看发送到DB的确切命令。如果它看起来正确,请将T-SQL从SQL Profiler复制并粘贴到Management Studio中,然后查看它在那里的行为是否正确。如果它在Management Studio中工作,而不是在您的应用程序中工作,请考虑相关SQLServer用户/标识的可能权限问题。

使用VisualStudio,在提交请求到DB的代码之前稍微设置断点。以调试模式启动站点(如果可以使用Cassini,则很容易;否则,请将调试器附加到正在运行的IIS进程)。当断点到达时,单步执行并确保提交的参数符合预期


如果一切正常,那么使用SQL Profiler查看发送到DB的确切命令。如果它看起来正确,请将T-SQL从SQL Profiler复制并粘贴到Management Studio中,然后查看它在那里的行为是否正确。如果它在Management Studio中工作,而不是在您的应用程序中工作,请考虑相关SQLServer用户/标识的可能权限问题。谢谢你的建议。剖析器是我没想到的一个很好的答案。谢谢你的建议。