• Martes 14 de Abril de 2026, 18:58

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - jotae

Páginas: [1]
1
C# / Re: Problema con Update DataTable
« en: Lunes 21 de Febrero de 2011, 23:55 »
Gracias pero yo no uso Datagrid y el usuario simplemente crea un pago por medio de un boton GRABAR (private void tbGrabar_Click(object sender, EventArgs e). Resumiendo, es esto:

1- El usuario crea un pago por medio del boton grabar (el código arriba aunque no lo envié completo. Es muy extenso)
2- Cuando el pago se confirma, hay que abrir la tabla "curso" y disminuir el saldo de un alumno específico,etc,etc.
3- Abrir la tabla "meses" y crear el row correspondiente del mes que pagó el alumno y ese mes definirlo como "cancelado" etc,etc...

Todo esto lo estoy haciendo hace mucho con VB.Net. Luego al pasar la aplicacion completa a C# lo hice con DataSet. Así que, la pregunta del millón de dólares es: ¿puedo hacer esto mismo con DataTable si o no?

Y créeme, si hubiera encontrado la respuesta en MSDN no les quitaría su tiempo con este post.

2
C# / Problema con Update DataTable
« en: Lunes 21 de Febrero de 2011, 19:16 »
Uso Visual Studio 2010.

Código: C#
  1.  
  2. DataRow row = tp.NewRow();
  3.         row["fecha"] = String.Format("{0:M/d/yyyy}", vFecha);
  4.         row["monto"] = txtMonto.Text;
  5.         row["fpago"] = cmbFpago.SelectedItem.ToString();
  6.         row["numcheque"] = txtCheque.Text;
  7.         row["banco"] = txtBanco.Text;
  8.         row["status"] = "ACTIVO";
  9.         row["mespago"] = cmbMes.SelectedItem.ToString();
  10.         row["anio"] = vAnio;
  11.         tp.Rows.Add(row);
  12.         dtp.Update(tp);
  13.  

La duda es: ¿como puedo actualizar este registro pero SOLAMENTE para un ID específico? Algo como "... where ID = vId..."

No sé cómo hacerlo. ¿Podrían ayudarme, por favor?

3
C# / Re: Un caso con int.Parse
« en: Lunes 21 de Febrero de 2011, 04:41 »
Gracias. De acuerdo a esto me puse a investigar y efectivamente el campo saldo en una tabla Access estaba definido como MONEY. Lo cambié a NUMBER y... voilá. Todo OK. Gracias gabio.  :good:

4
C# / Un caso con int.Parse
« en: Domingo 20 de Febrero de 2011, 16:58 »
Mi codigo: (Visual Studio C# 2010) Access DB

Código: C#
  1.  
  2. private void tbPagos_Click(object sender, EventArgs e)
  3. {
  4.   iPosact = dgView.CurrentRow.Index;
  5.   pId = tc.Rows[iPosact]["id"].ToString();
  6.   pNombre = tc.Rows[iPosact]["nombre"].ToString();
  7.   int pSaldo = int.Parse(tc.Rows[iPosact]["saldo"].ToString()); //error en esta línea.
  8.   if (pSaldo == 0)
  9.     {
  10.      res = MessageBox.Show("No tiene saldos pendientes. ¿Desea anular un pago?", "Anular Pago", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
  11.      if (res == DialogResult.No)
  12.         {
  13.           cargarDataGrid();
  14.           return;
  15.         }
  16.         Form pagos = new pagos();
  17.         pagos.ShowDialog();
  18.    }
  19.  }
  20.  

El problema:

saldo es un campo numérico en la tabla. Si pSaldo es > 0, todo anda bien pero si el valor de pSaldo es 0 (cero), genera este error:

No se controló FormatException
La cadena de entrada no tiene el formato correcto.

5
C# / Re: Problemas de sintaxis...
« en: Sábado 19 de Febrero de 2011, 17:13 »
De nuevo otro problemita similar:

Código: C#
  1. string clave = txtBuscar.Text.Trim();
  2. dta = new OleDbDataAdapter("Select * from inscritos where nombre LIKE '" + clave + "%' || sector LIKE '" + clave + "%'  order by nombre");
  3.  

No me acepta las barras (OR)... Gracias.

Solucionado usando OR. Gracias!!!

6
C# / Re: Problemas de sintaxis...
« en: Sábado 19 de Febrero de 2011, 16:21 »
:good:   Saludos...

7
C# / Re: Problemas de sintaxis...
« en: Sábado 19 de Febrero de 2011, 06:34 »
Gracias!! Siempre he trabajado con Visual Basic ('" & letra & "') y me enredo mucho con la sintaxis en C#. Pero ahí vamos :-) Gracias de nuevo amigo. Una última pregunta: es igual si la variable es string o numérica?

8
C# / Problemas de sintaxis...
« en: Sábado 19 de Febrero de 2011, 04:43 »
Desarrollo una aplicacion en Visual Studio C# y tengo problemas con esta línea:


Código: C#
  1.  
  2. private void letras(string letra)
  3. {
  4. .....más código....  
  5.    
  6. dta = new OleDbDataAdapter("Select * from inscritos where nombre like '" letra  "%' order by nombre", con);
  7.  
  8. ......más código........
  9.  
  10. }
  11.  

letra es una variable que viene de una clase.

¿Podrían darme la sintaxis correcta, por favor?

9
VB .NET / Re: Llenar una matriz con un campo de una tabla
« en: Miércoles 9 de Febrero de 2011, 19:20 »
Por si le sirve a alguno, esta es la solución a mi problema en lugar del array:

Código: Visual Basic
  1. Dim Cl_Nombres As New Collection
  2.     For Each Dt_Row As DataRow In dst.Tables("inscritos").Rows
  3.       Dim Dt_Nombre As String = Dt_Row.Item("nombre").ToString
  4.       Cl_Nombres.Add(CObj(Dt_Nombre))
  5. Next
  6.  

Gracias gabio2 por tu ayuda.    :good:

10
VB .NET / Re: Llenar una matriz con un campo de una tabla
« en: Martes 8 de Febrero de 2011, 22:12 »
Gracias pero la conexion funciona perfectamente. El problema no es la DB. Si quito las lineas del array todo trabaja perfecto. Realmente el programa está funcionando hace un año y no hay ni el más mínimo problema en la base de datos pero hay que hacer una modificación y para ello se requiere este array. De todas formas, gracias por la intención pero no me funciona. Seguiré intentando la solucion. Saludos.-

11
VB .NET / Re: Llenar una matriz con un campo de una tabla
« en: Martes 8 de Febrero de 2011, 08:10 »
Gracias por responderme. Me da un error en la línea marcada. El código quedó así:

Código: vb.net
  1. Private Sub tbMensualidad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbMensualidad.Click
  2.    ' la base de datos ya está abierta arriba....
  3.     dta = New OleDbDataAdapter("Select nombre from inscritos where status= 1 ", con)
  4.     Dim oCB As OleDbCommandBuilder = New OleDbCommandBuilder(dta)
  5.     Dim dt As New DataTable  
  6.     Dim ArrayNombres As New ArrayList
  7.     dta.Fill(dt, "inscritos") ' **** error en esta linea*****
  8.     'Aquí se agregan a nuestro Array..
  9.     For Each dr As DataRow In dt.Rows
  10.       ArrayNombres.Add(dr(0).ToString())
  11.     Next
  12.    
  13.   End Sub
  14.  


El error:

El objeto no es ADODB.RecordSet ni ADODB.Record.
Nombre del parámetro: adodb

Saludos y gracias de nuevo.

12
VB .NET / Llenar una matriz con un campo de una tabla
« en: Lunes 7 de Febrero de 2011, 17:45 »
Podrían ayudarme para llenar una matriz con un campo de una tabla, por favor?
Trabajo con Visual Basic 2005 Express


El código base:

Código: vb.net
  1. Me.con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & "c:socios.mdb; Persist Security Info=False"
  2.  con.Open()
  3. vtda = New OleDbDataAdapter("Select nombre from inscritos where status= 1 ", con)
  4. Dim oCB As OleDbCommandBuilder = New OleDbCommandBuilder(dta)
  5. dst = New DataSet
  6. dta.Fill(dst, "inscritos")
  7. vActivos = Me.dst.Tables("inscritos").Rows.Count
  8.  

De esta DB necesito llenar una matriz con el campo nombre quizá por medio de un Datareader pero sinceramente no sé cómo hacerlo.

Agradecería mucho su ayuda porque soy novato en esto. Gracias!!!

13
VB .NET / Re: Un problema con DBNull en Visual Studio 2005
« en: Viernes 14 de Enero de 2011, 04:21 »
Gracias a todos. Por fin logré solucionarlo con este código: Si a alguien le sirve, aquí lo dejo. Funciona OK!!

   
Código: vb.net
  1. Sql = "SELECT SUM(monto) As TOTALP from meses where status='ACTIVO' and mespago= '" & vMes & "' and ano= " & vAno & ""
  2.    cmd = New OleDbCommand(Sql, con)
  3.    dread = cmd.ExecuteReader()
  4.    While dread.Read
  5.     If dread("TOTALP") Is DBNull.Value Then
  6.      txtPendientePagado.Text = "No hay registros"
  7.     Else
  8.      vTotal = dread("TOTALP")
  9.      txtPendiente.Text = String.Format("{0:n2}", vTotal)
  10.     End If
  11.    End While
  12.    dread.Close()
  13.   Catch ex As Exception
  14.    MessageBox.Show(ex.Message, "", MessageBoxButtons.OK)
  15.   Finally
  16.   End Try
  17.  

14
VB .NET / Un problema con DBNull en Visual Studio 2005
« en: Viernes 14 de Enero de 2011, 02:50 »
Amigos: tengo este código que funciona si existen registros que cumplan el select pero de lo contrario me da el siguiente error:

La conversión del tipo DBNULL en el tipo integer no es válida

Código: vb.net
  1.  
  2. vTotal = 0
  3. vMes = cmbMeses.SelectedItem
  4. vAno = cmbAno.SelectedItem
  5. Sql = "SELECT SUM(monto) As TOTALP from pagos where status='ACTIVO' and mespago= '" & vMes & "' and ano= " & vAno & ""
  6.    cmd = New OleDbCommand(Sql, con)
  7.    dread = cmd.ExecuteReader()
  8.    While dread.Read
  9.     vTotal = dread("TOTALP")
  10.     If dread("TOTALP") Is DBNull.Value Then
  11.      txtPagado.Text = "No hay registros"
  12.     Else
  13.      txtPagado.Text = String.Format("{0:n2}", vTotal)
  14.     End If
  15.    End While
  16.    dread.Close()
  17.   Catch ex As Exception
  18.    MessageBox.Show(ex.Message, "", MessageBoxButtons.OK)
  19.   Finally
  20.   End Try
  21.  

Pero eso es precisamente lo que trato de controlar: que si TOTALP es 0, haga una cosa y si no, otra. Lo peor de todo es que he probado unos diez códigos diferentes pero no hay forma de que funcione. Necesito de su ayuda. Gracias!!!

Páginas: [1]