Mi consulta es la siguiente
Cuando envió datos a la BD no me detecta los errores el try explico cuando no tiene código de pedido ni de proveedor si me marca los errores como la llave de ese valor ya existe o que no estoy mandando la llave primaria eso es con los valores int.
Ahora cuando no ingreso por ejemplo la dirección debería marcarme que el campo no puede quedar nulo porque así lo declare en la BD pero no me aparece la excepción es decir lo manda vacío.
Aca una imagen Donde los campos como direccion telefono ... deberia de capturarme una excepcion por que los declare como not null pero no se que pasa. Como pueden ver en el registro 1 y 2
De esta forma mando los datos a la BD
Código
Dim con = New SqlConnection(conexion) Try con.Open() Dim comando1 As New SqlCommand("Insert into Pedido(codigoDelPedido, codigoProveedor, direccionDeEntrega," & _ "telefono, tipoDePedido, prioridad, formaDePago, fechaDelPedido, horaDelPediddo," & _ "fechaDeEntrega, horaDeEntrega, total, observaciones)" & _ "values (@codigoDelPedido, @codigoProveedor, @direccionDeEntrega," & _ "@telefono, @tipoDePedido, @prioridad, @formaDePago, @fechaDelPedido, @horaDelPediddo," & _ "@fechaDeEntrega, @horaDeEntrega, @total, @observaciones)", con) 'Datos de la tabla proveedores comando1.Parameters.Add("@codigoDelPedido", SqlDbType.Int).Value = txtCodPedido.Text comando1.Parameters.Add("@codigoProveedor", SqlDbType.Int).Value = txtCodProv.Text comando1.Parameters.Add("@direccionDeEntrega", SqlDbType.VarChar, 100).Value = txtDircPed.Text comando1.Parameters.Add("@telefono", SqlDbType.VarChar, 11).Value = mskTelPed.Text comando1.Parameters.Add("@tipoDePedido", SqlDbType.VarChar, 15).Value = cmbTipoPedi.Text comando1.Parameters.Add("@prioridad", SqlDbType.VarChar, 15).Value = cmbPrioriPedi.Text comando1.Parameters.Add("@formaDePago", SqlDbType.VarChar, 20).Value = cmbFormPagoPedi.Text comando1.Parameters.Add("@fechaDelPedido", SqlDbType.Date).Value = dtpFechaPedido.Value comando1.Parameters.Add("@horaDelPediddo", SqlDbType.DateTime).Value = tpHoraPedido.Value comando1.Parameters.Add("@fechaDeEntrega", SqlDbType.Date).Value = dtpFechaEntregaPedido.Value comando1.Parameters.Add("@horaDeEntrega", SqlDbType.DateTime).Value = tpHoraPedido.Value comando1.Parameters.Add("@total", SqlDbType.Decimal).Value = txtTotalPedido.Text comando1.Parameters.Add("@observaciones", SqlDbType.VarChar, 100).Value = txtObservacionesPedidos.Text 'Ejecuta la instruccion comando1 comando1.ExecuteNonQuery() 'Cierra la conexion con.Close() 'Mensaje datos guardados con exito RadMessageBox.Show(Me, "Los datos se registraron correctamente", "Mensaje", MessageBoxButtons.OK, RadMessageIcon.Info) Catch ex As Exception : RadMessageBox.Show(ex.Message) 'captura el error original del sistema 'RadMessageBox.Show("Verifique sus datos o que el codigo no exista") End Try
Esta es mi tabla en la BD
Código
CREATE TABLE Pedido ( codigoDelPedido INT PRIMARY KEY, codigoProveedor INT NOT NULL, direccionDeEntrega VARCHAR (100) NOT NULL, telefono VARCHAR (11) NOT NULL, tipoDePedido VARCHAR (15) NOT NULL, prioridad VARCHAR(15) NOT NULL, formaDePago VARCHAR(20) NOT NULL, fechaDelPedido DATE NOT NULL, horaDelPediddo TIME NOT NULL, fechaDeEntrega DATE NOT NULL, horaDeEntrega TIME, total DECIMAL (7,2) NOT NULL, observaciones VARCHAR(100) )
Espero puedan ayudarme saludos.