求问写入数据库时为什么会报操作符丢失?
要将计算结果写入数据库。但是为什么会出现错误呢?
'----数ºy据Y库a部?分¤?的Ì?参?数ºy-------------
Public MPCConn As New OleDb.OleDbConnection '
Public MPCDa As New OleDb.OleDbDataAdapter '
Public MPCComm As New OleDb.OleDbCommand '
Public MPCDs As New DataSet '
MPCConn = New OleDb.OleDbConnection
MPCConn.ConnectionString = Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Application.StartupPath & "\WDataBase.accdb '"
MPCComm.Connection = MPCConn
MPCDa.SelectCommand = MPCComm
MPCConn.Open()
MPCComm.CommandText = "select * from 计算结果load"
MPCDa.SelectCommand = MPCComm
MPCDa.Fill(MPCDs, "计算结果load")
MPCDa.FillSchema(MPCDs, System.Data.SchemaType.Mapped)
'----如果数据库中计算结果Load表中有记录,则清空-
If MPCDs.Tables("计算结果load").Rows.Count > 0 Then
MPCComm.CommandText = "delete * From 计算结果load"
MPCComm.ExecuteNonQuery()
MPCDa.DeleteCommand = MPCComm
MPCDs.Tables("计算结果load").Clear()
End If
'----将计算结果写入数据库-
MPCComm.CommandText = "insert into 计算结果Load (计算长度,-40,-35,-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35,40) values (@计算长度,@-40,@-35,@-30,@-25,@-20,@-15,@-10,@-5,@0,@5,@10,@15,@20, @25,@30,@35,@40)"
For i = 1 To ResultNum
MPCComm.Parameters.AddWithValue("@计算长度", SagResult100(i, 0))
MPCComm.Parameters.AddWithValue("@-40", SagResult100(i, 1))
MPCComm.Parameters.AddWithValue("@-35", SagResult100(i, 2))
MPCComm.Parameters.AddWithValue("@-30", SagResult100(i, 3))
MPCComm.Parameters.AddWithValue("@-25", SagResult100(i, 4))
MPCComm.Parameters.AddWithValue("@-20", SagResult100(i, 5))
MPCComm.Parameters.AddWithValue("@-15", SagResult100(i, 6))
MPCComm.Parameters.AddWithValue("@-10", SagResult100(i, 7))
MPCComm.Parameters.AddWithValue("@-5", SagResult100(i, 8))
MPCComm.Parameters.AddWithValue("@0", SagResult100(i, 9))
MPCComm.Parameters.AddWithValue("@5", SagResult100(i, 10))
MPCComm.Parameters.AddWithValue("@10", SagResult100(i, 11))
MPCComm.Parameters.AddWithValue("@15", SagResult100(i, 12))
MPCComm.Parameters.AddWithValue("@20", SagResult100(i, 13))
MPCComm.Parameters.AddWithValue("@25", SagResult100(i, 14))
MPCComm.Parameters.AddWithValue("@30", SagResult100(i, 15))
MPCComm.Parameters.AddWithValue("@35", SagResult100(i, 16))
MPCComm.Parameters.AddWithValue("@40", SagResult100(i, 17))
MPCComm.ExecuteNonQuery()’报错的地方
MPCComm.Parameters.Clear()
Next i
MPCDs.Clear()
MPCDa.Dispose()
MPCConn.Close()
感觉这是很成熟的数据库操作语句,为什么在For i = 1 To ResultNum的循环中,在
MPCComm.ExecuteNonQuery()
语句上会报错呢?报错的内容是:
“语法错误 (操作符丢失) 在查询表达式 '@0,@5,@10,@15,@20,@25,@30,@35,@40' 中。”
这是什么意思啊??
求各位大神帮忙!谢谢!