【发布时间】:2013-05-23 00:41:12
【问题描述】:
这是我的代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
ltRooms.Text = CInt(Session("numOfRooms"))
'Calculate total cost
Dim intPrice As Integer
Dim intTotal As Integer
intPrice = AccessDataSource1.SelectCommand = "SELECT [Price] FROM [Rooms] WHERE ([RoomType] = 'RoomType')"
intTotal = intPrice * intRooms
ltPrice.Text = intTotal.ToString
End Sub
和我的数据源
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="Hostel.accdb"
SelectCommand="SELECT * FROM [Bookings]"></asp:AccessDataSource>
我正在尝试存储来自选择查询的值,然后使用它来计算总价,然后将其存储在文字中。到目前为止,我只得到 0。没有编译错误。
有人知道为什么这不起作用吗?
【问题讨论】:
-
SelectCommand 返回的 intPrice 的值是多少?如果它是错误的,那么我会检查传递给查询的 RoomType 的值。
-
它的值为 0,因此它甚至没有从数据库中检索值。
-
RoomType 是一个字符串变量,这是将变量传递给 select 语句的正确方法吗?
-
我认为您需要将 SelectCommand 格式化为:“SELECT [Price] FROM [Rooms] WHERE ([RoomType] = '" & RoomType & "')”。如果您在以“intTotal =”开头的行上设置断点并运行应用程序,您应该能够看到 SQL 查询是什么。
-
为评论欢呼,仍然得到 0。我也设置了一个断点,但不会给我想要的信息。
标签: asp.net sql visual-studio-2010 ms-access select