Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Can';我搞不懂语法错误是什么_Vb.net_Ms Access - Fatal编程技术网

Vb.net Can';我搞不懂语法错误是什么

Vb.net Can';我搞不懂语法错误是什么,vb.net,ms-access,Vb.net,Ms Access,好的,我通过一个精选的案例来说明这一点 在案例0中,它运行: Sql = "INSERT INTO Devices (" & "[Asset Number], [Service Tag], Manufacturer, ModelName, Location, Room, Cart, [Purchase Date], Department, [Device Type]" & ") VALUES ( ?, ?, ?, ?, ?, ?, ?,

好的,我通过一个精选的案例来说明这一点

在案例0中,它运行:

Sql = "INSERT INTO Devices (" &
           "[Asset Number], [Service Tag], Manufacturer, ModelName, Location, Room, Cart, [Purchase Date], Department, [Device Type]" &
           ") VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"

                'Query Parameteres.
                Using cmd As New OleDb.OleDbCommand(Sql, dbConn)
                    'Have to guess at column types/lengths here. Use actual types/lengths from your DB
                    cmd.Parameters.Add("@Asset Number", OleDbType.Integer).Value = AssetNum
                    cmd.Parameters.Add("@Service Tag", OleDbType.VarChar, 50).Value = ServTag
                    cmd.Parameters.Add("@Manufacturer", OleDbType.VarWChar, 255).Value = Manu
                    cmd.Parameters.Add("@Model", OleDbType.VarWChar, 50).Value = Model
                    cmd.Parameters.Add("@Location", OleDbType.VarWChar, 30).Value = Location
                    cmd.Parameters.Add("@Room", OleDbType.VarChar, 5).Value = Room
                    cmd.Parameters.Add("@Cart", OleDbType.VarChar, 2).Value = Cart
                    cmd.Parameters.Add("@Purchase Date", OleDbType.Date).Value = PurchDate
                    cmd.Parameters.Add("@Department", OleDbType.VarWChar, 50).Value = Department
                    cmd.Parameters.Add("@Device Type", OleDbType.VarChar, 255).Value = DeviceType
                    cmd.ExecuteNonQuery()
                End Using
在案例1中,它运行:

 Sql = "INSERT INTO MVNTA (" &
    "[Serial Number], [Ethernet Mac], [Wlan Mac], Imei, ESN, HEX, DEC, Phone, [NTA Tag], Manufacturer, Model)" &
    ")VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"

            'Query Parameteres.
            Using cmd As New OleDb.OleDbCommand(Sql, dbConn)
                'Have to guess at column types/lengths here. Use actual types/lengths from your DB

                cmd.Parameters.Add("@Serial Number", OleDbType.VarChar, 255).Value = ServTag
                cmd.Parameters.Add("@Ethernet Mac", OleDbType.VarChar, 255).Value = Ether
                cmd.Parameters.Add("@WLan Mac", OleDbType.VarChar, 255).Value = WLan
                cmd.Parameters.Add("@IMEI", OleDbType.VarChar, 255).Value = IMEI
                cmd.Parameters.Add("@ESN", OleDbType.VarChar, 255).Value = ESN
                cmd.Parameters.Add("@Hex", OleDbType.VarChar, 255).Value = HEX
                cmd.Parameters.Add("@DEC", OleDbType.VarChar, 255).Value = DEC
                cmd.Parameters.Add("@Phone", OleDbType.VarWChar, 255).Value = Phone
                cmd.Parameters.Add("@NTA Tag", OleDbType.Integer).Value = AssetNum
                cmd.Parameters.Add("@Manufacturer", OleDbType.VarWChar, 255).Value = Manu2
                cmd.Parameters.Add("@Model", OleDbType.VarWChar, 50).Value = Model2
                cmd.ExecuteNonQuery()
            End Using
案例1有一个语法错误,但是当我比较它们时,我找不到问题所在。 我比较了数据库中的长度,它们是正确的。虽然我不完全理解varchar vs varwchar,但我认为问题不在于此。案例0正在用于插入到设备表中


我还将该语句直接放入数据库,修复了一些小问题,并运行了它。将其放回我的应用程序代码后,语法错误返回。

HEX
DEC
在OleDb下。将这些名字用方括号括起来

并删除附加的括号


这里看起来像一个额外的括号——“代码>模型”( >代码> DEC/代码>是一个保留词;<代码> HEX 可以,它不在我正在查看的列表中,但因为它是VB函数,所以我会逃避它。谢谢。甚至没有考虑过我使用保留词的想法。
Sql = "INSERT INTO MVNTA (" &
    "[Serial Number], [Ethernet Mac], [Wlan Mac], Imei, ESN, [HEX], [DEC], Phone, [NTA Tag], Manufacturer, Model)" &
    " VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"