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

datalist update problema

Estas en el tema de datalist update problema en el foro de .NET en Foros del Web. Hola Tengo el siguiente codigo que se implementa en un data list, pero no me permite editar, si alguien me puede dcir en que esta ...
  #1 (permalink)  
Antiguo 07/05/2004, 17:22
 
Fecha de Ingreso: marzo-2004
Ubicación: Mexico, d.f
Mensajes: 15
Antigüedad: 20 años, 1 mes
Puntos: 0
datalist update problema

Hola

Tengo el siguiente codigo que se implementa en un data list, pero no me permite editar, si alguien me puede dcir en que esta mal, se los agradeceria:

Uso web matrix, nose porque no me permite actualizar

<%@ Page Language="VB" Debug="True" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">

Public Sub Page_Load(obj As Object, e As Eventargs)
If Not Page.IsPostback then
BindData()
End If
End Sub

Public Sub BindData()

Dim conn as New SqlConnection("Data Source='(local)'; Integrated Security= SSPI; DataBase='Doctores'")

Conn.open()

Dim myDataAdapter As New SqlDataAdapter("SELECT * FROM Doctores ORDER BY ID DESC",Conn)

Dim DS As New DataSet()

myDataAdapter.Fill(DS,"Doctores")

Datalist3.Datasource = DS
Datalist3.DataBind()
conn.close()
End Sub

Sub Datalist3_EditCommand(obj As Object, e As DataListCommandEventargs)
Datalist3.EditItemIndex=e.Item.ItemIndex
BindData()

End Sub

Sub Datalist3_CancelCommand(obj As Object, e As DataListCommandEventargs)
Datalist3.EditItemIndex=-1
BindData()
End Sub



Sub Datalist3_UpdateCommand(obj As Object, e As DataListCommandEventargs)


Dim strNombre,strTelefono As String

strNombre=CType(e.Item.FindControl("txtNombre"),Te xtBox).text
strTelefono=CType(e.Item.FindControl("txtTelefono" ),TextBox).text

Dim strSql As String
strSql="UPDATE Doctores SET Nombre='" & strNombre & "' WHERE Nombre ='" & strNombre & "'"

Dim conn As New SqlConnection("Data Source='(local)';Integrated Security=SSPI; DataBase='Doctores'")

Dim comm as New SqlCommand(strSql,conn)
conn.open()
comm.ExecuteNonQuery()
conn.close()

Datalist3.EditItemIndex=-1
BindData()

End Sub

</script>
<html>
<head>
<link href="Style1.css" type="text/css" rel="stylesheet" align="center" />
</head>
<body>
<form runat="server">
<asp:DataList id="Datalist3" runat="server" DataKeyField="ID" OnUpdateCommand="Datalist3_UpdateCommand" OnCancelCommand="Datalist3_CancelCommand" OnEditCommand="Datalist3_EditCommand">
<HeaderTemplate>
<table class="tablestyle">
<tr>
<td align="center" bgcolor="#aaaa48">
<b>ID</b>
</td>
<td align="center" bgcolor="#aaaa48">
<b>Nombre</b>
</td>
<td align="center" bgcolor="#aaaa48">
<b>Telefono</b>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td align="center">
<%#Container.DataItem("ID")%>
</td>
<td align="center">
<%#Container.DataItem("Nombre")%>
</td>
<td align="center">
<%#Container.DataItem("Telefono")%>
</td>
</tr>
<tr>
<td>
<asp:Button id="lbtEdit" commandName="Edit" Text="Edit" runat="Server"></asp:Button>
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr>
<td align="center">
<%#Container.DataItem("ID")%>
</td>
<td align="center">
<asp:TextBox id="txtNombre" text='<%#Container.DataItem("Nombre")%>' runat="Server"></asp:TextBox>
</td>
<td align="center">
<asp:TextBox id="txtTelefono" text='<%#Container.DataItem("Telefono")%>' runat="Server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button id="cmdUpdate" commandName="Update" Text="Update" runat="Server"></asp:Button>
</td>

<td>
<asp:Button id="cmdCancel" commandName="Cancel" Text="Cancel" runat="Server"></asp:Button>
</td>
</tr>
</EditItemTemplate>
</asp:DataList>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 10/05/2004, 15:44
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
No sería mas conveniente hacer el update con algun ID, ya que puedes tener varias personas que tengan el mismo nombre.

Cita:
strSql="UPDATE Doctores SET Nombre='" & strNombre & "' WHERE Nombre ='" & strNombre & "'"
Yo lo cambiaría por:

Cita:
IDNombre = Datalist3.DataKeys(e.Item.ItemIndex)
....
strSql="UPDATE Doctores SET Nombre='" & strNombre & "' WHERE IDNombre =" & IDNombre
Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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 16:16.