使用VB和SQL之间的日期

时间:2013-01-29 13:39:14

标签: mysql database

我正在建立一个学校项目,这是一个房间预订服务。我已经达到编程的一部分,我需要弄清楚如何存储预订。我知道如何使用VB从数据库中取出,当我尝试从数据库中提取预订信息时,我就像这样做了。

    strBookingQuery = "SELECT * FROM bookings WHERE Date = '" & InputBookingDate & "'"
    Dim Cmd As New MySqlCommand(strBookingQuery, Newconnection)
    Newconnection.ConnectionString = strServerString
    Newconnection.Open()
    reader = Cmd.ExecuteReader()
    reader.Read()

    StartPeriod = reader.GetInt16(1)
    Length = reader.GetInt16(2)
    UserID = reader.GetInt16(3)
    RoomID = reader.GetInt16(4)
    Newconnection.Close()

但是当它到达StartPeriod = reader.GetInt16(1)时它表示在调用Read()之前无效尝试访问字段,这是因为MySQL以不同的方式存储日期吗?或者是其他东西?任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:1)

您希望GetInt16如何阅读date

  

Reader.GetInt16()将指定列的值作为16位有符号整数。没有进行转换;因此,检索到的数据必须已经是Int16或可以强制转换为Int16。

鉴于OP确认startPeriod没有问题,可能的问题可能是:

Invalid attempt to access field before calling read()