繁体   English   中英

在Visual Studio中选择对Access数据库的查询

[英]Select Query on Access Database in Visual Studio

这是我的代码:

  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>

我正在尝试存储来自select查询的值,然后使用它计算出总价格,然后将其存储为文字。 到目前为止,我只得到0。没有编译错误。

有人知道为什么这行不通吗?

我将各种评论合并为一个答案,以使其更加清晰,并阻止该页面抱怨扩展讨论。 这一切都不在我的脑海,所以代码中可能会有一些错误。 不过,应该足以找出问题所在。

首先,现在让我重新看一下,我认为您的代码只是设置数据源的SelectCommand属性,而不实际查询数据库。 我认为您需要使用DataSource.Select方法。

您的代码可能最终看起来像这样:

AccessDataSource1.SelectCommand = "SELECT [Price] FROM [Rooms] WHERE ([RoomType] = '" & RoomType & "')"

Dim intPrices As List(Of Integer) = AccessDataSource1.Select(DataSourceSelectArguments.Empty)

' Now do stuff with your price data.

如果上述方法没有帮助,那么我将检查Select调用返回的intPrice的值。 您还应该检查RoomType的设置是否正确。

如果从数据库返回了错误的数据,则您应该能够修复SQL查询以检索正确的数据。 如果您需要进一步的帮助,请发布SQL查询和表结构。

如果返回正确的数据,请检查intRooms的定义位置。 如果为零,则无论intPrice的值如何,您的总数都将计算为零。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM