Cita:
Iniciado por xknown Debes estar haciendo algo mal, te envío la prueba que hice:
Código:
<!-- Definicion de la tabla
create table foo(id varchar(5),val float)
-->
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
shared conexion as New SqlConnection("server=localhost;uid=sa;pwd=;database=test")
Dim com as New SqlCommand("select * from foo", conexion)
Sub Page_Load(sender As Object, e As EventArgs)
com.CommandText = "select * from foo"
conexion.Open()
dgMostrar.DataSource=com.ExecuteReader(CommandBehavior.CloseConnection)
dgMostrar.DataBind
End Sub
Sub cmdAdd_Click(sender As Object, e As EventArgs)
Dim val as Double = 0
Try
val = CDbl(txtFloat.Text)
Catch
val = 23.45 ' Si hay un error, toma por defecto 23.45
End Try
com.CommandText = "INSERT INTO foo VALUES('" & txtFirst.Text & "', " & val & ")"
conexion.Open()
com.ExecuteNonQuery()
conexion.Close()
End Sub
</script>
<html>
<head>
</head>
<body>
<form id="frm" runat="server">
<p>
<asp:Button id="cmdAdd" onclick="cmdAdd_Click" runat="server" Text="Agregar"></asp:Button>
</p>
<p>
Primer Valor:
<asp:TextBox id="txtFirst" runat="server">001</asp:TextBox>
</p>
<p>
Valor Flotante:
<asp:TextBox id="txtFloat" runat="server">23.45</asp:TextBox>
</p>
<p>
<asp:DataGrid id="dgMostrar" runat="server"></asp:DataGrid>
</p>
</form>
</body>
</html>
Saludos
Hola te agradezco mucho tu explicación pero todavía estoy un poco verde para comprenderla.Lo que veo es que me pone en el valor decimal una coma a la hora de INSERTAR y me da error ya que me toma el campo decimal como dos campos el que está antes de la coma y el de después. no se como se modifica el valor de la variable para que sustituya la coma por un punto a la hora de hacer la insercion.
Muchas gracias XKNOWN