Foros del Web » Programación para mayores de 30 ;) » .NET »

se puede actualizar una base de datos

Estas en el tema de se puede actualizar una base de datos en el foro de .NET en Foros del Web. Hola tengo un problema con una base de datos. La situacion es la siguiente: Estoy trabajando con webmatrix asp.net, y tengo un formulario con un ...
  #1 (permalink)  
Antiguo 15/01/2003, 07:55
Avatar de AIgnacio  
Fecha de Ingreso: diciembre-2002
Mensajes: 131
Antigüedad: 21 años, 4 meses
Puntos: 0
Mensaje se puede actualizar una base de datos

Hola tengo un problema con una base de datos.
La situacion es la siguiente:
Estoy trabajando con webmatrix asp.net, y tengo un formulario con un cuatro campos (codigo de articulo, detalle, Stock, stock minimo), un boton y debajo del boton una base de datos.
Cuando yo ingreso los campos los cuales describi anteriormente y luego le doy click al boton la base de datos no se actualiza, sino que la tengo que actualizar dandole clik para ordenar por alguno de los campos.
Mi codigo de toda la hoja es:
<%@ Page Language="VB" %>
<%@ Register TagPrefix="wmx" Namespace="Microsoft.Saturn.Framework.Web.UI" Assembly="Microsoft.Saturn.Framework, Version=0.5.464.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %>
<script runat="server">

Function Insertar(ByVal codigodearticulo As Integer, ByVal detalle As String, ByVal stock As Integer, ByVal stockMinimo As Integer) As Integer
Dim connectionString As String = "server='localhost'; trusted_connection=true; Database='art'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionStri ng)

Dim queryString As String = "INSERT INTO [Artic] ([Codigo de articulo], [Detalle], [Stock], [Stock Minimo]) VALUES (@Codigodearticulo, @Detalle, @Stock, @StockMinimo)"
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)

sqlCommand.Parameters.Add("@Codigodearticulo", System.Data.SqlDbType.Int).Value = codigodearticulo
sqlCommand.Parameters.Add("@Detalle", System.Data.SqlDbType.Text).Value = detalle
sqlCommand.Parameters.Add("@Stock", System.Data.SqlDbType.Int).Value = stock
sqlCommand.Parameters.Add("@StockMinimo", System.Data.SqlDbType.Int).Value = stockMinimo

Dim rowsAffected As Integer = 0
sqlConnection.Open
Try
rowsAffected = sqlCommand.ExecuteNonQuery
Finally
sqlConnection.Close
End Try

Return rowsAffected
End Function

Sub Button1_Click(sender As Object, e As EventArgs)
If sto.Text<stomin.Text
Message.Text = "Cargado mal el stock"
Else

If Insertar(Cod.Text, Deta.Text, Sto.Text, Stomin.Text) > 0
Message.Text = "Cargo bien"


End If
End If
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
<asp:TextBox id="Cod" runat="server"></asp:TextBox>
Cod Art
</p>
<p>
<asp:TextBox id="Deta" runat="server"></asp:TextBox>
Detalle
</p>
<p>
<asp:TextBox id="Sto" runat="server"></asp:TextBox>
Stock
</p>
<p>
<asp:TextBox id="Stomin" runat="server"></asp:TextBox>
Stock Minimo
</p>
<p>
<asp:Label id="Message" runat="server"></asp:Label>
</p>
<p>
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
</p>
<p>
<wmx:SqlDataSourceControl id="SqlDataSourceControl1" runat="server" DeleteCommand="" ConnectionString="server='localhost'; trusted_connection=true; Database='art'" AutoGenerateUpdateCommand="False" SelectCommand="SELECT * FROM [Artic]" UpdateCommand="UPDATE [Artic] SET [Codigo de articulo]=@param1,[Detalle]=@Detalle,[Stock]=@Stoc
k,[Stock Minimo]=@param4 WHERE [Codigo de articulo]=@param5"></wmx:SqlDataSourceControl>
<wmx:MxDataGrid id="MxDataGrid1" runat="server" BorderStyle="None" BorderWidth="1px" DataKeyField="Codigo de articulo" CellPadding="3" BackColor="White" AllowPaging="True" DataMember="Artic" AutoGenerateFields="False" AllowSorting="True" BorderColor="#CCCCCC" DataSourceControlID="SqlDataSourceControl1" ShowFooter="True">
<SelectedItemStyle font-bold="True" forecolor="White" backcolor="#669999"></SelectedItemStyle>
<ItemStyle forecolor="#000066"></ItemStyle>
<FooterStyle forecolor="#000066" backcolor="White"></FooterStyle>
<HeaderStyle font-bold="True" forecolor="White" backcolor="#006699"></HeaderStyle>
<PagerStyle horizontalalign="Center" forecolor="#000066" backcolor="White" mode="NumericPages"></PagerStyle>
<Fields>
<wmx:BoundField DataField="Numero" SortExpression="Numero" HeaderText="Numero"></wmx:BoundField>
<wmx:BoundField DataField="Codigo de articulo" SortExpression="Codigo de articulo" HeaderText="Codigo de articulo"></wmx:BoundField>
<wmx:BoundField DataField="Detalle" SortExpression="Detalle" HeaderText="Detalle"></wmx:BoundField>
<wmx:BoundField DataField="Stock" SortExpression="Stock" HeaderText="Stock"></wmx:BoundField>
<wmx:BoundField DataField="Stock Minimo" SortExpression="Stock Minimo" HeaderText="Stock Minimo"></wmx:BoundField>
</Fields>
</wmx:MxDataGrid>
</p>
<!-- Insert content here -->
</form>
</body>
</html


Si me pueden decir como puedo llegar a actualizar la base nada mas
Desde ya muchas gracias
  #2 (permalink)  
Antiguo 16/01/2003, 13:14
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 22 años
Puntos: 1
Los datos no se actualizan automaticamente, lo que debes hacer es ejecutar un query nuevamente a la base de datos y actualizar la vista.

Si usas un DataGrid o alguno de los controles que estan en System.Web.UI.WebControls, entonces le tienes que hacer por ejemplo:

DataGrid1.DataBind();
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #3 (permalink)  
Antiguo 17/01/2003, 07:00
Avatar de AIgnacio  
Fecha de Ingreso: diciembre-2002
Mensajes: 131
Antigüedad: 21 años, 4 meses
Puntos: 0
y como hago el query

Hola y sabes como hacer eso que me digiste, ya que yo no estoy usando datagrid
  #4 (permalink)  
Antiguo 17/01/2003, 09:25
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 22 años
Puntos: 1
Para usar lo que es Microsoft.Saturn.Framework, de webmatrix, hay muy poca información en los foros en internet

http://www.google.com/microsoft?q=Mi...UTF-8&filter=0

No tengo ejemplos pequeños a la mano, pero aquí encontraras toda la documentación que necesitas, y en español:

http://es.gotdotnet.com/quickstart/

Con documentación para: JScript, VBScript y el nuevo y poderoso C#.
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #5 (permalink)  
Antiguo 17/01/2003, 09:37
Avatar de AIgnacio  
Fecha de Ingreso: diciembre-2002
Mensajes: 131
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias
Pero te queria preguntar si vos no sabes como puedo hacer que si el codigo de articulo se duplica me tire un mensage.
si queres te paso todo el codigo para que lo pruebes
salu2
  #6 (permalink)  
Antiguo 19/01/2003, 18:20
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 22 años
Puntos: 1
Esto es por manejo de errores, con try...catch...finally, es mas facil que hacer un query primero y luego insertar.

El tema son "Excepciones" (Exceptions), la base de datos tira un error, lo capturan las clases de base de datos y disparan una excepción, esta se captura con try...catch, y se despliega el mensjae de error apropiado.

Postea el codigo que utilizas y te muestro como se hace.
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #7 (permalink)  
Antiguo 20/01/2003, 06:31
Avatar de AIgnacio  
Fecha de Ingreso: diciembre-2002
Mensajes: 131
Antigüedad: 21 años, 4 meses
Puntos: 0
este es el codigo:

<%@ Page Language="VB" %>
<%@ Register TagPrefix="wmx" Namespace="Microsoft.Saturn.Framework.Web.UI" Assembly="Microsoft.Saturn.Framework, Version=0.5.464.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %>
<script runat="server">

Function entrada(ByVal codigodearticulo As Integer, ByVal cantidad As String, ByVal fecha As String, ByVal entosal As String) As Integer
Dim connectionString As String = "server='localhost'; trusted_connection=true; Database='art'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionStri ng)

Dim queryString As String = "INSERT INTO [movimientos] ([Codigo de articulo], [Cantidad], [Fecha], [ent o sal]) VALUES (@Codigodearticulo, @Cantidad, @Fecha, @entosal)"
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)

sqlCommand.Parameters.Add("@Codigodearticulo", System.Data.SqlDbType.Int).Value = codigodearticulo
sqlCommand.Parameters.Add("@Cantidad", System.Data.SqlDbType.Char).Value = cantidad
sqlCommand.Parameters.Add("@Fecha", System.Data.SqlDbType.Char).Value = fecha
sqlCommand.Parameters.Add("@entosal", System.Data.SqlDbType.Char).Value = entosal

Dim rowsAffected As Integer = 0
sqlConnection.Open
Try
rowsAffected = sqlCommand.ExecuteNonQuery
Finally
sqlConnection.Close
End Try

Return rowsAffected
End Function


Function Inserto(ByVal codigodearticulo As Integer, ByVal detalle As String, ByVal stock As Integer, ByVal stockMinimo As Integer) As Integer
Dim connectionString As String = "server='localhost'; trusted_connection=true; Database='art'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionStri ng)

Dim queryString As String = "INSERT INTO [Artic] ([Codigo de articulo], [Detalle], [Stock], [Stock Minimo]) VALUES (@Codigodearticulo, @Detalle, @Stock, @StockMinimo)"
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)

sqlCommand.Parameters.Add("@Codigodearticulo", System.Data.SqlDbType.Int).Value = codigodearticulo
sqlCommand.Parameters.Add("@Detalle", System.Data.SqlDbType.Text).Value = detalle
sqlCommand.Parameters.Add("@Stock", System.Data.SqlDbType.Int).Value = stock
sqlCommand.Parameters.Add("@StockMinimo", System.Data.SqlDbType.Int).Value = stockMinimo

Dim rowsAffected As Integer = 0
sqlConnection.Open
Try
rowsAffected = sqlCommand.ExecuteNonQuery
Finally
sqlConnection.Close
End Try

Return rowsAffected
End Function









Sub Button1_Click(sender As Object, e As EventArgs)


If entrada(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text) > 0 and Inserto(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text)
Message.Text = "Success"
Else
Message.Text = "Failure"

End If

End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox id="TextBox4" runat="server"></asp:TextBox>
</p>
<p>
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
</p>
<p>
<asp:Label id="Message" runat="server"></asp:Label>
</p>
<p>
<wmx:SqlDataSourceControl id="SqlDataSourceControl1" runat="server" DeleteCommand="" ConnectionString="server='localhost'; trusted_connection=true; Database='art'" AutoGenerateUpdateCommand="False" SelectCommand="SELECT * FROM [movimientos]" UpdateCommand="UPDATE [movimientos] SET [Codigo de articulo]=@param1,[Cantidad]=@Cantidad,[Fecha]=@Fecha,[ent o sal]=@param4 WHERE [Codigo de articulo]=@param5"></wmx:SqlDataSourceControl>
<wmx:MxDataGrid id="MxDataGrid1" runat="server" BorderStyle="None" BorderWidth="1px" DataKeyField="Codigo de articulo" CellPadding="3" BackColor="White" AllowPaging="True" DataMember="movimientos" AutoGenerateFields="False" AllowSorting="True" BorderColor="#CCCCCC" DataSourceControlID="SqlDataSourceControl1">
<PagerStyle horizontalalign="Center" forecolor="#000066" backcolor="White" mode="NumericPages"></PagerStyle>
<FooterStyle forecolor="#000066" backcolor="White"></FooterStyle>
<SelectedItemStyle font-bold="True" forecolor="White" backcolor="#669999"></SelectedItemStyle>
<ItemStyle forecolor="#000066"></ItemStyle>
<Fields>
<wmx:BoundField DataField="Numero" SortExpression="Numero" HeaderText="Numero"></wmx:BoundField>
<wmx:BoundField DataField="Codigo de articulo" SortExpression="Codigo de articulo" HeaderText="Codigo de articulo"></wmx:BoundField>
<wmx:BoundField DataField="Cantidad" SortExpression="Cantidad" HeaderText="Cantidad"></wmx:BoundField>
<wmx:BoundField DataField="Fecha" SortExpression="Fecha" HeaderText="Fecha"></wmx:BoundField>
<wmx:BoundField DataField="ent o sal" SortExpression="ent o sal" HeaderText="ent o sal"></wmx:BoundField>
</Fields>
<HeaderStyle font-bold="True" forecolor="White" backcolor="#006699"></HeaderStyle>
</wmx:MxDataGrid>
</p>
<p>
&nbsp;<wmx:SqlDataSourceControl id="SqlDataSourceControl2" runat="server" DeleteCommand="" ConnectionString="server='localhost'; trusted_connection=true; Database='art'" AutoGenerateUpdateCommand="False" SelectCommand="SELECT * FROM [Artic]" UpdateCommand="UPDATE [Artic] SET [Codigo de articulo]=@param1,[Detalle]=@Detalle,[Stock]=@Stock,[Stock Minimo]=@param4 WHERE [Codigo de articulo]=@param5"></wmx:SqlDataSourceControl>
<wmx:MxDataGrid id="MxDataGrid2" runat="server" BorderStyle="None" BorderWidth="1px" DataKeyField="Codigo de articulo" CellPadding="3" BackColor="White" AllowPaging="True" DataMember="Artic" AutoGenerateFields="False" AllowSorting="True" BorderColor="#CCCCCC" DataSourceControlID="SqlDataSourceControl2">
<PagerStyle horizontalalign="Center" forecolor="#000066" backcolor="White" mode="NumericPages"></PagerStyle>
<FooterStyle forecolor="#000066" backcolor="White"></FooterStyle>
<SelectedItemStyle font-bold="True" forecolor="White" backcolor="#669999"></SelectedItemStyle>
<ItemStyle forecolor="#000066"></ItemStyle>
<Fields>
<wmx:BoundField DataField="Numero" SortExpression="Numero" HeaderText="Numero"></wmx:BoundField>
<wmx:BoundField DataField="Codigo de articulo" SortExpression="Codigo de articulo" HeaderText="Codigo de articulo"></wmx:BoundField>
<wmx:BoundField DataField="Detalle" SortExpression="Detalle" HeaderText="Detalle"></wmx:BoundField>
<wmx:BoundField DataField="Stock" SortExpression="Stock" HeaderText="Stock"></wmx:BoundField>
<wmx:BoundField DataField="Stock Minimo" SortExpression="Stock Minimo" HeaderText="Stock Minimo"></wmx:BoundField>
</Fields>
<HeaderStyle font-bold="True" forecolor="White" backcolor="#006699"></HeaderStyle>
</wmx:MxDataGrid>
</p>
<p>
</p>
<!-- Insert content here -->
</form>
</body>
</html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:45.