我有以下代码和查询:
Dim sqlCom As New OleDb.OleDbCommand("INSERT INTO clasificador (codigo, deudor, oportunidad, banca, ejecutivo, garantia, ciiu, ras, actividad, fecha, analista, estatus, concepto, ult_act, ingresos, tipo, cumplimiento, multa_pot, roa2, ie2, ant, act, covenants, faltas, oportunidades, costos, pmaa, potencial) VALUES (codigo=@codigo, deudor=@deudor, oportunidad=@oportunidad, banca=@banca, ejecutivo=@ejecutivo, garantia=@garantia, ciiu=@ciiu, ras=@ras, actividad=@actividad, fecha=@fecha, analista=@analista, estatus=@estatus, concepto=@concepto, ult_act=@ult_act, ingresos=@ingresos, tipo=@tipo, cumplimiento=@cumplimiento, multa_pot=@multa_pot, roa2=@roa2, ie2=@ie2, ant=@ant, act=@act, covenants=@covenants, faltas=@faltas, oportunidades=@oportunidades, costos=@costos, pmaa=@pmaa, potencial=@potencial)", conn)
sqlCom.Parameters.AddWithValue("@codigo", txtCodigo.Text)
sqlCom.Parameters.AddWithValue("@deudor", txtDeudor.Text)
sqlCom.Parameters.AddWithValue("@oportunidad", txtOportunidad.Text)
sqlCom.Parameters.AddWithValue("@banca", drpBanca.Text)
sqlCom.Parameters.AddWithValue("@ejecutivo", txtEjecutivo.Text)
sqlCom.Parameters.AddWithValue("@garantia", drpGarantia.Text)
sqlCom.Parameters.AddWithValue("@ciiu", txtCIIU.Text)
sqlCom.Parameters.AddWithValue("@ras", txtRAS.Text)
sqlCom.Parameters.AddWithValue("@actividad", txtActividad.Text)
sqlCom.Parameters.AddWithValue("@fecha", dteFecha.Text)
sqlCom.Parameters.AddWithValue("@analista", txtAnalista.Text)
sqlCom.Parameters.AddWithValue("@estatus", drpEstatus.Text)
sqlCom.Parameters.AddWithValue("@concepto", drpConcepto.Text)
sqlCom.Parameters.AddWithValue("@ult_act", dteUltAct.Text)
sqlCom.Parameters.AddWithValue("@ingresos", txtIngresos.Text)
sqlCom.Parameters.AddWithValue("@tipo", txtTipo.Text)
sqlCom.Parameters.AddWithValue("@cumplimiento", drpCumplimiento.Text)
sqlCom.Parameters.AddWithValue("@multa_pot", txtMultaPot.Text)
sqlCom.Parameters.AddWithValue("@roa2", txtROA2.Text)
sqlCom.Parameters.AddWithValue("@ie2", txtIE2.Text)
sqlCom.Parameters.AddWithValue("@ant", txtAnt.Text)
sqlCom.Parameters.AddWithValue("@act", txtAct.Text)
sqlCom.Parameters.AddWithValue("@covenants", txtCovenants.Text)
sqlCom.Parameters.AddWithValue("@faltas", drpFaltas.Text)
sqlCom.Parameters.AddWithValue("@oportunidades", txtOportunidades.Text)
sqlCom.Parameters.AddWithValue("@costos", txtCostos.Text)
sqlCom.Parameters.AddWithValue("@pmaa", txtPMAA.Text)
sqlCom.Parameters.AddWithValue("@potencial", txtPotencial.Text)
Try
'MsgBox("GO!")
Select Case MsgBox("¿Seguro que desea crear?", MsgBoxStyle.YesNo, "Confirmar")
Case MsgBoxResult.Yes
sqlCom.ExecuteNonQuery()
MsgBox("¡Listo!")
Me.Show()
Case MsgBoxResult.No
End Select
'MsgBox("DONE!")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
我没有任何错误,一切正常,但插入数据库的信息都是" -1" (没有引号)在所有字段中(除了日期字段有" 12/29 / 1899")。我在Stackoverflow中经历了大概20个问题,但它们都是一般语法或拼写错误。
有什么想法吗?
答案 0 :(得分:4)
其中每一个都是错误的:
INSERT ... VALUES (codigo=@codigo, deudor=@deudor
^^^^^^^^
您没有插入您的值,您需要插入一堆相等测试的结果。你正在插入一条记录,所以没有测试是否相等,所有的测试都失败了,因此你的-1。
插入语法
INSERT INTO sometable (field1, field2, ...) VALUES (value1, value2, ...)
所以你应该有这个:
INSERT ... VALUES (@codigo, @deudor, etc....)