0

我希望根据用户输入进行数据库调用。我正在使用的线路是:

general_read.CommandText = "SELECT * FROM general WHERE Business_Name = '" & business_name & "';"

business_name 从以下位置动态加载:

Protected Sub btnLoad_Click(sender As Object, e As System.EventArgs) Handles btnLoad.Click
    business_name = txtName.Text

    dbConnect()
    dbGet()
    dbDisconnect()
End Sub

显示的错误是:

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

我假设它与在进行数据库调用之前未设置的变量有关,但我并不完全确定。

4

1 回答 1

1

我猜它失败了

general_read.CommandText = "SELECT * FROM general WHERE Business_Name = '" & business_name & "';"

因为这是您指定的代码。如果是这种情况,那么您没有正确初始化 SQLCommand 对象。下面是 MSDN 页面,它正确地向您展示了如何为对象使用所有重载的构造函数。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx

如果 business_name 为 null,则在您尝试连接 ComamndText 字符串时也会引发异常。在该行上放一个断点,看看什么是空的。这就是你的问题所在。

希望这可以帮助。如果该行没有出错,请在出错的地方包含代码。

于 2012-05-16T13:40:26.493 回答