我正在建立一个学校项目,这是一个房间预订服务。我已经达到编程的一部分,我需要弄清楚如何存储预订。我知道如何使用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以不同的方式存储日期吗?或者是其他东西?任何帮助将不胜感激:)
答案 0 :(得分:1)
您希望GetInt16如何阅读date
?
Reader.GetInt16()将指定列的值作为16位有符号整数。没有进行转换;因此,检索到的数据必须已经是Int16或可以强制转换为Int16。
鉴于OP确认startPeriod没有问题,可能的问题可能是: