
03/04/2005, 21:51
|
| | Fecha de Ingreso: febrero-2005
Mensajes: 47
Antigüedad: 20 años, 1 mes Puntos: 0 | |
Ayuda por favor!!!!!!!!!!!!!!!!!!!! Hola:
Tengo un datagrid y necesito hacer altas bajas cambios y bajas . Las modificaciones me las hace bien , pero el insert lo hace bien en el datagrid , pero no lo hace en la base de datos. El código es este y no se donde está el error.
Gracias
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Introducir aquí el código de usuario para inicializar la página
If Not Me.IsPostBack Then
inicia_adapter_consulta()
filldataset()
Session("dataset") = ds
binddatagrid()
Else
ds.Clear()
ds = DirectCast(Session("dataset"), DataSet)
End If
End Sub
Sub filldataset()
cn.Open()
datitles.Fill(ds, "consulta")
dapubs.Fill(ds, "enfermedades")
cn.Close()
ds.Relations.Add("consenfe", ds.Tables("enfermedades").Columns("IdEnfermedad"), ds.Tables("consulta").Columns("IdEnfermedad"))
End Sub
Sub binddatagrid()
DataGrid1.DataSource = Nothing
DataGrid1.DataSource = ds.Tables("consulta")
DataGrid1.DataKeyField = "IdPaciente"
DataGrid1.DataBind()
If DataGrid1.EditItemIndex >= 0 Then
Dim dgi As DataGridItem = DataGrid1.Items(DataGrid1.EditItemIndex)
Dim dropdownlist1 As DropDownList = DirectCast(dgi.FindControl("dropdownlist1"), DropDownList)
dropdownlist1.DataSource = ds.Tables("enfermedades")
dropdownlist1.DataTextField = "enfermedad"
dropdownlist1.DataValueField = "IdEnfermedad"
dropdownlist1.DataBind()
Dim dr As DataRow
dr = getdatarow(DataGrid1.DataKeys(DataGrid1.EditItemIn dex.ToString))
End If
End Sub
Function getdatarow(ByVal id As String) As DataRow
Dim drows() As DataRow
drows = ds.Tables("consulta").Select("IdPaciente='" & id & "'")
If drows.Length > 0 Then
Return drows(0)
End If
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
With ds.Tables("consulta")
Dim Fila As System.Data.DataRow = .NewRow()
Fila("IdPaciente") = "1001"
Fila("Fecha_consulta") = "01/01/2001"
Fila("Idenfermedad") = "10"
Fila("receto") = "tylenol"
.Rows.Add(Fila)
binddatagrid()
'esto me coloca en la ultima pagina
DataGrid1.CurrentPageIndex = DataGrid1.PageCount - 1
With DataGrid1
Dim oEvento As New _
System.Web.UI.WebControls.DataGridCommandEventArgs (.Items(.Items.Count - 1), DataGrid1, New System.Web.UI.WebControls.CommandEventArgs( _
"Editar", Nothing))
datagrid1_EditCommand1(DataGrid1, oEvento)
Button1.Attributes.Clear()
End With
End With
Try
cn.Open()
Catch miexception As System.Exception
Console.WriteLine(miexception.Message)
End Try
Try
llena_adapter_insert()
datitles.Update(ds, "consulta")
datitles.Fill(ds, "consulta")
Catch miexception As System.Exception
Console.WriteLine(miexception.Message)
End Try
End Sub
Private Sub datagrid1_EditCommand1(ByVal source As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex = e.Item.ItemIndex
binddatagrid()
Button1.Enabled = False
End Sub |