Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Skeletron en 12 Octubre 2009, 03:46 am



Título: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 03:46 am
Hola gente, les comentoq ue tengo
La TABLA de la base de datos se crea con el siguiente codigo:
        
Código
  1. Dim SQLconnect As New SQLite.SQLiteConnection()
  2.        Dim SQLcommand As SQLite.SQLiteCommand
  3.        SQLconnect.ConnectionString = "Data Source=" & My.Settings.Database & ";"
  4.        SQLconnect.Open()
  5.        SQLcommand = SQLconnect.CreateCommand
  6.        'SQL query to Create Table
  7.        SQLcommand.CommandText = "CREATE TABLE Movimientos(Fecha CURRENT_DATE, Detalle TEXT, Documento TEXT, Comprobante TEXT, IngEgre BOOLEAN, Monto INTEGER);"
  8.        SQLcommand.ExecuteNonQuery()
  9.        SQLcommand.Dispose()
  10.        SQLconnect.Close()
Como veran, un datos es una FECHA (en cuanto a eso, me gustaria que me recomienden si hay un mejor metodo para guardar FECHAS.. ya que con DATE, me guarda hasta el horario (00:00:00) y no quiero), luego hay un Detalle, Documento y Comprobante que son de TEXT, luego un Boolean que no me esta funcionando.. que dato le tengo que pasar? la palabra: TRUE o FALSE, o 0 o 1??? y un Monto INTEGER...


Envio unas 5 entradas, y los resutaldos estan OK!!!
Miren las fotos:

(http://img517.imageshack.us/img517/4773/errordatabse.jpg)


Ahora Ingreso otra entrada EXACTAMENTE IGUAL a la 1001-10-01 y miren:
(http://img41.imageshack.us/img41/2374/errordatabase2.jpg)

Y para empeorar todo:
Ahora agrego una entrada con fecha: 1002-10-10, pero con los detalles de las coolumnas iguales a los del item 1001-10-10 y aparece ésto:
(http://img197.imageshack.us/img197/3560/errordatabase3.jpg)


QUieren que le empeore mas las cosas?
Ok...
Para pasar los datos a la tabla esa, tengo el sigueinte codigo:

        
Código
  1. Dim SQLconnect As New SQLite.SQLiteConnection()
  2.        Dim SQLcommand As SQLite.SQLiteCommand
  3.        SQLconnect.ConnectionString = "Data Source=" & My.Settings.Database & ";"
  4.        SQLconnect.Open()
  5.        SQLcommand = SQLconnect.CreateCommand
  6.        SQLcommand.CommandText = "SELECT * FROM Movimientos"
  7.        Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()
  8.        Planilla.Items.Clear()
  9.        While SQLreader.Read()
  10.            Planilla.Items.Add(SQLreader(0))
  11.            'HAY PROBLEMAS
  12.            Planilla.Items(0).SubItems.Add(SQLreader(1))
  13.            Planilla.Items(0).SubItems.Add(SQLreader(2))
  14.            Planilla.Items(0).SubItems.Add(SQLreader(3))
  15.            Planilla.Items(0).SubItems.Add(SQLreader(4))
  16.            Planilla.Items(0).SubItems.Add(SQLreader(5))
  17.            MsgBox(SQLreader(0) & SQLreader(1) & SQLreader(2) & SQLreader(3) & SQLreader(4) & SQLreader(5))
  18.        End While
  19.        SQLcommand.Dispose()
  20.        SQLconnect.Close()

Como veran, siempre modifica el item 0, eso es así porque cada item que va agregando se transofrma en el "CERO" (no se porque, pero bueno.. es así.. muy raro.. o tal vez ahí esta el problema, pero no lo creo..)
HAN VISTO qu tengo un MSGBOX???? y se preguntaran para que es...
Puse ese MSGBOX para que con cada ingreso que hace, me muestre en una cadena de texto lo que va a incertar.. y gente: ME MUESTRA TODOS LOS ITEMS PERFECTAMENTE!!.. TODOS!!!!!!.. O sea.. el problema esta al visualizar la tabla!!!, es como que al mostrarse la tabla, se "eliminan" los datos de los items repetidos.. algo así!!!
Alguien me da una mano?


Título: Re: Problema con ListView y DataBase
Publicado por: seba123neo en 12 Octubre 2009, 04:12 am
Hola, primero algunas preguntas , ¿ porque creas la bases de datos asi con un comando ?, porque no la creas con el administrador de SQL Lite desde el mismo visual studio ? porque me parece que estan mal los tipos de datos creados ahi. para guardar la fecha usas el tipo de dato DateTime en SQL Server. cuando lo guardas lo debes guardar con la funcion Format() formatado a "yyyymmdd", y para mostrarlo en la grilla despues debes en la consulta SQL fomatear tambien la fecha asi te muestra solo la fecha y no todo con el horario.

para el boolean se usa el tipo de dato bit que es 0 o 1...que yo sepa no existe boolean. y el monto deberia ser un tipo de dato como el Double..en SQL Server debe ser algo como real.

lo mejor para trabajar con bases de datos es crear clases y no poner el select asi en los botones o demas controles, deberia ser programación en 3 capas, es lo mejor. de ultima si eso es mucho...deberias hacerte uans clases con metodos para insertar, update, delete , chequeos etc...pero en una clase..sino se desaprovecha la POO de vb net..

eso cuando carga el listview esta mal...por eso estas teniendo problemas...estas poniendo siempre el 0...yo no lo cargo asi y creo que no se carga asi estoy seguro..mirate ejemplos e internet como lo hacen..crean un objeto del tipo ListViewItem y lo cargan desde ahi, van llenando los subitems con los datos y despues a lo ultimo le ahcen el .ADD y añaden toda la fila.

saludos.


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 04:19 am
Lo solucione.. Saben cual era el problema? esa parte que dije que no creía que estaba el error, era ahí.. Porque? porque en las propiedades del ListView, decia que los items se tenían que ordenar... Aparentemente, vb.net los va ordenando mientras los va ingresando.. no hace un Ordenamiento al finalizar... entonces, entre los ordenados, quedaban mal los datos..
Ahora ya le puse que no ordene, y le modifique el codigo así: (vean que irá modificando los SUBDATOS, ya que se irá incrementando "X")

Pero ahora tengo que ordenar los items haciendo click en los "TITULOS" de las columnas... pero.. no funciona ¬¬ y tengo seleccionada la opcion que los elementos se pueden ordenar... todo mal..

Código
  1.        Dim X As Integer = 0
  2.        Dim SQLconnect As New SQLite.SQLiteConnection()
  3.        Dim SQLcommand As SQLite.SQLiteCommand
  4.        SQLconnect.ConnectionString = "Data Source=" & My.Settings.Database & ";"
  5.        SQLconnect.Open()
  6.        SQLcommand = SQLconnect.CreateCommand
  7.        SQLcommand.CommandText = "SELECT * FROM Movimientos"
  8.        Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()
  9.        Planilla.Items.Clear()
  10.        While SQLreader.Read()
  11.            Planilla.Items.Add(SQLreader(0))
  12.            'HAY PROBLEMAS
  13.            Planilla.Items(X).SubItems.Add(SQLreader(1))
  14.            Planilla.Items(X).SubItems.Add(SQLreader(2))
  15.            Planilla.Items(X).SubItems.Add(SQLreader(3))
  16.            Planilla.Items(X).SubItems.Add(SQLreader(4))
  17.            Planilla.Items(X).SubItems.Add(SQLreader(5))
  18.            X += 1
  19.        End While
  20.        SQLcommand.Dispose()
  21.        SQLconnect.Close()


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 04:27 am
Hola, primero algunas preguntas , ¿ porque creas la bases de datos asi con un comando ?, porque no la creas con el administrador de SQL Lite desde el mismo visual studio ? porque me parece que estan mal los tipos de datos creados ahi. para guardar la fecha usas el tipo de dato DateTime en SQL Server. cuando lo guardas lo debes guardar con la funcion Format() formatado a "yyyymmdd", y para mostrarlo en la grilla despues debes en la consulta SQL fomatear tambien la fecha asi te muestra solo la fecha y no todo con el horario.

para el boolean se usa el tipo de dato bit que es 0 o 1...que yo sepa no existe boolean. y el monto deberia ser un tipo de dato como el Double..en SQL Server debe ser algo como real.

lo mejor para trabajar con bases de datos es crear clases y no poner el select asi en los botones o demas controles, deberia ser programación en 3 capas, es lo mejor. de ultima si eso es mucho...deberias hacerte uans clases con metodos para insertar, update, delete , chequeos etc...pero en una clase..sino se desaprovecha la POO de vb net..

eso cuando carga el listview esta mal...por eso estas teniendo problemas...estas poniendo siempre el 0...yo no lo cargo asi y creo que no se carga asi estoy seguro..mirate ejemplos e internet como lo hacen..crean un objeto del tipo ListViewItem y lo cargan desde ahi, van llenando los subitems con los datos y despues a lo ultimo le ahcen el .ADD y añaden toda la fila.

saludos.

AMigo, Te comento que uso SQLite.. Lo de las funciones FECHA, me gustaria que me lo expliques mejor... Sin administradores me manejo bien.. (por ahora)... Pero esta MUY MAL como lo estoy haciendo???

En cuanto a lo del BOOLEAN, yo leí por ahí que SQLite si tiene el tipo BOOLEAN.. Corrigeme si me equivoco..
En cuanto al DOUBLE, si, es verdad, necesito numeros con COMA, de putno flotante, pero todavia no he mriado bien eso... Me gustaria que em digas cual es el tipo de dato de punto flotante para SQLITE

En cuanto a la programacion de 3 capas, y POO, es verdad, lo pondré en practica... seguramente modifique todo eso mañana..

Y en cuanto a lo del lsitview, era eso, efectivamente, auqnue te comento que lo solucione antes que me lo digas :P
Pero se me presento un problea: Ahora no se ordena automaticamente, proque eso era el problema.. pero, tendria que ordenarlo manualmente entonces, así que puse que el usuario pueda ordenarlo manualmente pero no me funciona.. algo raro pasó.. no quiero preugntarte cual puede ser el problema, porque es algo totalmente ilogico.. per bueno.. seguire probando


Título: Re: Problema con ListView y DataBase
Publicado por: seba123neo en 12 Octubre 2009, 04:33 am
esta, pero igualmente fijate lo de como cargar el listview en internet, por mas que ande a veces no quiere decir que sea la forma correta y puedas esperimentar problemas mas delante, en lo que yo te digo no tenes que poner indices ni nada por el estilo, fijate que es la mejor forma y la correcta de cargar un listview.

para ordenar el lsitview no es asi nomas con activarle la propiedad , debes escribir una funcion que compare y te devuelva el ordenamiento. basicamente lo basico es hacer algo asi:

Código
  1. If ListView1.Sorting = SortOrder.Ascending Then
  2. ListView1.Sorting = SortOrder.Descending
  3. Else
  4. ListView1.Sorting = SortOrder.Ascending
  5. End If
  6. ListView1.Sort()

pero eso solo sirve si el campo es string, para numeros y fechas no te sirve y vas a tener que escribir codigo...busca en internet que hay miles de como hacerlo y no es mucho codigo.

saludos.


Título: Re: Problema con ListView y DataBase
Publicado por: seba123neo en 12 Octubre 2009, 04:40 am
acabo de abrir el administrador de sql server lite y no existe el tipo de dato boolean, es bit como dije, los tipos de datos se mantienen en las versiones SQL Server.

deberias poner tambien como "guardas" los datos...

saludos.


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 05:10 am
esta, pero igualmente fijate lo de como cargar el listview en internet, por mas que ande a veces no quiere decir que sea la forma correta y puedas esperimentar problemas mas delante, en lo que yo te digo no tenes que poner indices ni nada por el estilo, fijate que es la mejor forma y la correcta de cargar un listview.

para ordenar el lsitview no es asi nomas con activarle la propiedad , debes escribir una funcion que compare y te devuelva el ordenamiento. basicamente lo basico es hacer algo asi:

Código
  1. If ListView1.Sorting = SortOrder.Ascending Then
  2. ListView1.Sorting = SortOrder.Descending
  3. Else
  4. ListView1.Sorting = SortOrder.Ascending
  5. End If
  6. ListView1.Sort()

pero eso solo sirve si el campo es string, para numeros y fechas no te sirve y vas a tener que escribir codigo...busca en internet que hay miles de como hacerlo y no es mucho codigo.

saludos.
Sería algo así como un "IMPLEMENT COMPARABLE" en Java...
Pero.. has visto que en el explorador de Windows, cuando le ahces click en TIPO DE ARCHIVO, o TAMAÑO.. solo se ordenan... Entiendo que detras de eso hay codigo, pero, tengo que programar ese codigo??? no se hace de manera automatica??

Agrego:
Y vos me decis lo de SQL SERVER LITE, ese es el SQL SERVER de Microsoft, pero LITE... o me equivoco?? Yo te hablo de SQLite http://www.sqlite.org/

Mira:
http://www.sqlite.org/datatypes.html
y
http://www.sqlite.org/datatype3.html


Agrego2:
Y no he visto en ninguna web, que mejor manera hay para agregar items con sus "sub-datos". y es mas, si miras aqui: http://msdn.microsoft.com/es-es/library/wh9a3t2x%28VS.80%29.aspx lo hacen como yo te digo..


Título: Re: Problema con ListView y DataBase
Publicado por: seba123neo en 12 Octubre 2009, 05:51 am
si en el explorador de windows se ordenan, pero fijate que se ordenan mal...te lo ordena como string. como el codigo que te puse que es lo basico que tenes que escribir para  que te ordene algo.

yo te hable siempre que tengo el SQL LITE...pero no me baje nada de esa pagina...yo me baje esto:

ADO.NET 2.0/3.5 Provider for SQLite (http://sourceforge.net/projects/sqlite-dotnet2/)

sirve para el 2005 y 2008 y te pone el administrador para crear tablas,bases etc...hacer consultas ..como si fuera el SQL Server verdadero y ahi en los tipos de datos no hay nada parecido a lo que me pasate en la pagina.

si el ejemplo ese de microsoft esta bien, pero lo que pasa es que hay varias formas de ahcer las cosas y simepre hay una que es mejor que la otra..esa que pasate esta bien pero no creo que es la mejor...sino espera que busco uno y te lo paso.


Título: Re: Problema con ListView y DataBase
Publicado por: seba123neo en 12 Octubre 2009, 06:15 am
aca esta el ejemplo lo acabo de probar recien:

Código
  1.        Dim vItem As ListViewItem
  2.        While dr.Read
  3.            vItem = New ListViewItem(dr("idestado").ToString)
  4.            vItem.SubItems.Add(dr("nombre"))
  5.            ListView1.Items.Add(vItem)
  6.        End While
  7.        vItem = Nothing

donde "dr" es el datareader...tenes que poner los nobmres de los campos...hay otro metodo llamado .AddRange que mete todo un array de una...pero bueno con eso basta.



Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 06:17 am
Si podes encontrarme algun mejor metodo, mejor.. Yo tambien pensé que hacer 5 lineas para agregar 1 item completo era mucho.. pero bue.. no vi nada diferente..

En cuanto a lo que me preguntaste de como hago con los codigos, aca te paso los datos:

Así creo un DATABASE donde el usuario quiera:
        'Save Dialog Box
        Dim f As New SaveFileDialog
        f.Filter = "SQLite 3 (*.db3)|*.db3|All Files|"
        f.ShowDialog()
        'Create Database
        Dim SQLconnect As New SQLite.SQLiteConnection()
        'Database Doesn't Exist so Created at Path
        SQLconnect.ConnectionString = "Data Source=" & f.FileName & ";"
        SQLconnect.Open()
        SQLconnect.Close()

así creo una tabla a un archivo database que hay que seleccionar:
    Dim f As New OpenFileDialog
    f.Filter = "SQLite 3 (*.db3)|*.db3|All Files|*.*"
    If f.ShowDialog() = DialogResult.OK Then
        Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & f.FileName & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        'SQL query to Create Table
        SQLcommand.CommandText = "CREATE TABLE foo(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, description TEXT, image BLOB);"
        SQLcommand.ExecuteNonQuery()
        SQLcommand.Dispose()
        SQLconnect.Close()
    End If


Aca estan las 3 opciones: Insert Update y Delete:
    Dim f As New OpenFileDialog
    f.Filter = "SQLite 3 (*.db3)|*.db3|All Files|*.*"
    If f.ShowDialog() = DialogResult.OK Then
        Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & f.FileName & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        'Insert Record into Foo
        SQLcommand.CommandText = "INSERT INTO foo (title, description) VALUES ('This is a title', 'This is a Description')"
        'Update Last Created Record in Foo
        SQLcommand.CommandText = "UPDATE foo SET title = 'New Title', description = 'New Description' WHERE id = last_insert_rowid()"
        'Delete Last Created Record from Foo
        SQLcommand.CommandText = "DELETE FROM foo WHERE id = last_insert_rowid()"
        SQLcommand.ExecuteNonQuery()
        SQLcommand.Dispose()
        SQLconnect.Close()
    End If

Y aca la sentencia Select:
    Dim f As New OpenFileDialog
    f.Filter = "SQLite 3 (*.db3)|*.db3|All Files|*.*"
    If f.ShowDialog() = DialogResult.OK Then
        Dim SQLconnect As New SQLite.SQLiteConnection()
        Dim SQLcommand As SQLiteCommand
        SQLconnect.ConnectionString = "Data Source=" & f.FileName & ";"
        SQLconnect.Open()
        SQLcommand = SQLconnect.CreateCommand
        SQLcommand.CommandText = "SELECT * FROM foo"
        Dim SQLreader As SQLiteDataReader = SQLcommand.ExecuteReader()
        lst_records.Items.Clear()
        While SQLreader.Read()
            lst_records.Items.Add(String.Format("ID = {0}, Title = {1}, Description = {1}", SQLreader(0), SQLreader(1), SQLreader(2)))
            'Optionally use the variable names to identify columns
            'De lst_records.Items.Add(String.Format("ID = {0}, Title = {1}, Description = {1}", SQLreader("id"), SQLreader("title"), SQLreader("description")))
        End While
        SQLcommand.Dispose()
        SQLconnect.Close()
    End If


Como verás, a todo eso lo LAMERÉE hace un tiempo :D
Modifico todo lo de tomar un archivo desde un lugar de MI PC, y hago todo con unas variables globales que tengo en la aplicacion... (donde se guadan los datos del string donde esta el archivo database)


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 06:20 am
aca esta el ejemplo lo acabo de probar recien:

Código
  1.        Dim vItem As ListViewItem
  2.        While dr.Read
  3.            vItem = New ListViewItem(dr("idestado").ToString)
  4.            vItem.SubItems.Add(dr("nombre"))
  5.            ListView1.Items.Add(vItem)
  6.        End While
  7.        vItem = Nothing

donde "dr" es el datareader...

Pero tio, es lo mismo que hice yo...
La diferencia, es que vos creas un item, le cargas los datos y luego lo subis al item ya con sus SUB DATOS... pero yo los ingreso a los sub-datos cuando el item esta cargado..
Vos decis que es mas eficiente esa manera??


Título: Re: Problema con ListView y DataBase
Publicado por: raul338 en 12 Octubre 2009, 15:32 pm
AMigo, Te comento que uso SQLite.. Lo de las funciones FECHA, me gustaria que me lo expliques mejor... Sin administradores me manejo bien.. (por ahora)... Pero esta MUY MAL como lo estoy haciendo???
No estoy seguro si sea necesario guardar formateado (las pocas veces que lo use no me dio problema, ni con el MySQL), pero a la hora de devolverlo si lo tendras que formatear, sino lo tendras en el formato YYYY-MM-DD. (DateTime.Format("DD/MM/YYYY").ToString() creo que es)

En cuanto a lo del BOOLEAN, yo leí por ahí que SQLite si tiene el tipo BOOLEAN.. Corrigeme si me equivoco..
En cuanto al DOUBLE, si, es verdad, necesito numeros con COMA, de putno flotante, pero todavia no he mriado bien eso... Me gustaria que em digas cual es el tipo de dato de punto flotante para SQLITE
nunca lo vi, pero puedes usar bit como boolean. De todas forma guardalos con 0 y 1, y cuando devuelvas con un select, conviertelos con el Boolean.Parse o CBool


Y en cuanto a lo del lsitview, era eso, efectivamente, auqnue te comento que lo solucione antes que me lo digas :P
Pero se me presento un problea: Ahora no se ordena automaticamente, proque eso era el problema.. pero, tendria que ordenarlo manualmente entonces, así que puse que el usuario pueda ordenarlo manualmente pero no me funciona.. algo raro pasó.. no quiero preugntarte cual puede ser el problema, porque es algo totalmente ilogico.. per bueno.. seguire probando
Es medio atado con alambres la forma que hicistes, no se si funcionara el ordenado, pero yo siempre hacia asi: declaras un elemento ListViewItem, le pones los subitems y lo agregas a la grilla. De todas formas, si no funciona, el listview tiene eventos para cuando uno quiere ordenar.


Código
  1. Dim item as New ListViewItem("Item")
  2. item.Subitems.Add("SubItem1")
  3. item.Subitems.Add("SubItem1")
  4. item.Subitems.Add("SubItem1")
  5. ListView1.Items.Add(item)


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 18:22 pm
@Raul:
En cuanto a lo de la fecha, es mejor el formato YY MM DD, ya que apra ordenar, esa es la mejor manera.. ;) por mas que no sea la mas utilizada en Argentina, esa seria la mejor manera para ordenar :D

En cuanto a lo de atado con alambres... es verdad.. será mejor que les haga caso, hasta seguramente como ustedes dicen, es mas rapido...

Lo pondré en practica.. Y luego me pongo a ver como hago para que el usuario los ordene haciendo click en la columna :)


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 12 Octubre 2009, 20:33 pm
En cuanto a lo de aprovechar la POO de vb.net, tendría que crear 1 clase para hacer el UPDATE, SELECT, INSERT y DROP?? o una clase para cada una de las 4 opciones?

Nunca utilicé (aunque no lo crean.. es que llevo poco tiempo utilizando .net) la POO en -net...
Si la utilizé y muy muchas veces en java...
En java hay 3 tipos de contructores... Por parametros, por copia y por defecto...
En vb.net los constructores se crean así???:

Por defecto:
Public Sub New()

Por parametro y copia:
Public Sub New(ByVal value As Integer)


Título: Re: Problema con ListView y DataBase
Publicado por: raul338 en 13 Octubre 2009, 18:57 pm
En cuanto a lo de aprovechar la POO de vb.net, tendría que crear 1 clase para hacer el UPDATE, SELECT, INSERT y DROP?? o una clase para cada una de las 4 opciones?

Nunca utilicé (aunque no lo crean.. es que llevo poco tiempo utilizando .net) la POO en -net...
Si la utilizé y muy muchas veces en java...
En java hay 3 tipos de contructores... Por parametros, por copia y por defecto...
En vb.net los constructores se crean así???:

Por defecto:
Public Sub New()

Por parametro y copia:
Public Sub New(ByVal value As Integer)

jamas escuche eso (asi que supongo que no). No, generalmente se hace una clase por tabla (o grupo de tablas si estan relacionadas) con las 4 funciones: select, insert, update, delete y derivados (select from where)

Aunque para copiar clases, en vb.net no te sirve

Código
  1. Dim clase1 As New MiClase("Raul338", 3)
  2. Dim clase2 As MiClase = clase1
  3.  
  4. clase1.Nombre = "ra"
  5. msgbox(clase2.nombre) ' RA
  6. clase2.Nombre = "ul338"
  7. msgbox(clase1.nombre) ' ul338

Lo que debes hacer es implementar la interfaz IClonable, te creará una funcion que devuelve la misma clase, lo que debes hacer ahi es instanciar una nueva clase y asignarle los mismos campos primitivos (no clases). O aun mejor y mas simple, serializar y deserializar en memoria. (Tal vez no te sirva todavia todo esto que te estoy diciendo, pero tengo ganas de escribir jajaj)


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 13 Octubre 2009, 19:16 pm
Pero amigo, para poder hacer:
Dim clase1 As New MiClase("Raul338", 3)

La clas MiClase tiene que tener un Constructor!


Título: Re: Problema con ListView y DataBase
Publicado por: Skeletron en 13 Octubre 2009, 19:19 pm
Para ser mas preciso, me refiero a ésto:
http://www.startvbdotnet.com/oop/constructor.aspx
o a:
http://www.java2s.com/Code/VB/Class/Constructorwithparameters.htm (por mas que el link sea java2s.. vos mria lo mismo, es de vb.net.. mira la aprte de:  Public Sub New(ByVal dt As DateTime) )