Access y ASP .NET
Publicado por juancarlos (5 intervenciones) el 26/03/2007 20:33:47
Al hacer un insert con un objeto oledbcommand, da el error que debo
usar una consulta actualizable. Este es el código que uso...
Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click
Try
Dim Cadena As String
Cadena = "INSERT INTO TEMPORAL id,item,cod_prod,nom_prod,pre_prod,can_sal) " _
& "VALUES(?,?,?,?,?,?)"
Dim Cmd As New OleDbCommand
Cmd.Connection = Cn
Cmd.CommandText = Cadena
Cmd.CommandType = CommandType.Text
Dim p1 As New OleDbParameter
p1.OleDbType = OleDbType.Integer
p1.Direction = ParameterDirection.Input
p1.Value = pSerieDisco *** funcion que devuelve un dato
Dim p2 As New OleDbParameter
p2.OleDbType = OleDbType.Integer
p2.Direction = ParameterDirection.Input
p2.Value = Siguiente() *** funcion que devuelve un dato
Dim p3 As New OleDbParameter
p3.OleDbType = OleDbType.Integer
p3.Direction = ParameterDirection.Input
p3.Value = Convert.ToInt32(TxtCodigo.Text)
Dim p4 As New OleDbParameter
p4.OleDbType = OleDbType.Char
p4.Direction = ParameterDirection.Input
p4.Value = Convert.ToString(TxtNombre.Text)
Dim p5 As New OleDbParameter
p5.OleDbType = OleDbType.Double
p5.Direction = ParameterDirection.Input
p5.Value = Convert.ToDouble(TxtPrecio.Text)
Dim p6 As New OleDbParameter
p6.OleDbType = OleDbType.Double
p6.Direction = ParameterDirection.Input
p6.Value = Convert.ToDouble(TxtCantidad.Text)
Cmd.Parameters.Add(p1)
Cmd.Parameters.Add(p2)
Cmd.Parameters.Add(p3)
Cmd.Parameters.Add(p4)
Cmd.Parameters.Add(p5)
Cmd.Parameters.Add(p6)
Cn.Open()
Cmd.ExecuteNonQuery()
Cn.Close()
Catch ex As Exception
TxtBuscar.Text = ex.Message.ToString
Cn.Close()
End Try
End Sub
usar una consulta actualizable. Este es el código que uso...
Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click
Try
Dim Cadena As String
Cadena = "INSERT INTO TEMPORAL id,item,cod_prod,nom_prod,pre_prod,can_sal) " _
& "VALUES(?,?,?,?,?,?)"
Dim Cmd As New OleDbCommand
Cmd.Connection = Cn
Cmd.CommandText = Cadena
Cmd.CommandType = CommandType.Text
Dim p1 As New OleDbParameter
p1.OleDbType = OleDbType.Integer
p1.Direction = ParameterDirection.Input
p1.Value = pSerieDisco *** funcion que devuelve un dato
Dim p2 As New OleDbParameter
p2.OleDbType = OleDbType.Integer
p2.Direction = ParameterDirection.Input
p2.Value = Siguiente() *** funcion que devuelve un dato
Dim p3 As New OleDbParameter
p3.OleDbType = OleDbType.Integer
p3.Direction = ParameterDirection.Input
p3.Value = Convert.ToInt32(TxtCodigo.Text)
Dim p4 As New OleDbParameter
p4.OleDbType = OleDbType.Char
p4.Direction = ParameterDirection.Input
p4.Value = Convert.ToString(TxtNombre.Text)
Dim p5 As New OleDbParameter
p5.OleDbType = OleDbType.Double
p5.Direction = ParameterDirection.Input
p5.Value = Convert.ToDouble(TxtPrecio.Text)
Dim p6 As New OleDbParameter
p6.OleDbType = OleDbType.Double
p6.Direction = ParameterDirection.Input
p6.Value = Convert.ToDouble(TxtCantidad.Text)
Cmd.Parameters.Add(p1)
Cmd.Parameters.Add(p2)
Cmd.Parameters.Add(p3)
Cmd.Parameters.Add(p4)
Cmd.Parameters.Add(p5)
Cmd.Parameters.Add(p6)
Cn.Open()
Cmd.ExecuteNonQuery()
Cn.Close()
Catch ex As Exception
TxtBuscar.Text = ex.Message.ToString
Cn.Close()
End Try
End Sub
Valora esta pregunta


0