Vb.net 对象引用未设置为DataReader的对象实例
我有一个excel文档,我试着用数据库中的值来填充表单,我有一些这样的下拉列表Vb.net 对象引用未设置为DataReader的对象实例,vb.net,Vb.net,我有一个excel文档,我试着用数据库中的值来填充表单,我有一些这样的下拉列表 <ContentTemplate> <asp:DropDownList ID="DDL_Transporter" runat="server" Width = "157px" DataSourceID="SqlDataSource2" DataTextField="transporter"
<ContentTemplate>
<asp:DropDownList ID="DDL_Transporter" runat="server" Width = "157px"
DataSourceID="SqlDataSource2" DataTextField="transporter"
DataValueField="transporter">
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="Data Source=xxx;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx"
SelectCommand="SELECT [transporter] FROM [Transporter] where [active]= 'active'"></asp:SqlDataSource>
</ContentTemplate>
显然,此代码存在一个问题:
con.Open()
Header_DataReader = cmd.ExecuteReader
该标头\u DataReader的值仍然为Nothing
您可以捕获异常以查看命令执行的错误
或者你可以这样做:
If Header_DataReader IsNot Nothing Then
If Header_DataReader.HasRows Then
End If
End If
每个人可能都会在某个时候重复这一点。正确的解决方案是学习如何使用调试器并跟踪导致调试器的原因-链接的问题和答案(注释)详细说明了如何执行此操作。同时请注意,您有一个空的
Catch
块。您可能希望完全删除该try/catch,或者至少在catch块中添加一些日志记录—查看您正在进行的操作以及错误所在,您可能在连接时出错,或者在运行查询时出错。空的catch块正在隐藏它。好的,谢谢,我像那样修改我的代码,现在没有问题。如果错误消失了,我告诉你。
If Header_DataReader IsNot Nothing Then
If Header_DataReader.HasRows Then
End If
End If