Autor
|
Tema: Problemilla con Sqlite !! (Leído 6,057 veces)
|
TrashAmbishion
Desconectado
Mensajes: 756
|
Hola chicos tengo una aplicación donde estoy sacando informacion de una BD Sqlite y la estoy mostrando en una DataGrid sin problemas, la cuestion es que necesito una ves que termine mis modificaciones salvar los datos y no encuentro como, estuve mirando un ejemplo pero me da un error.. aqui les dejo el link... gracias cualquier sugerencia... http://sqlite.phxsoftware.com/forums/p/2291/9199.aspxSalu2
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
¿En mi caso y para empezar, prefiero utilizar SQL Server CE en lugar de SQLite, pero fuera de eso, puedes publicar el código que tienes hasta el momento?
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
TrashAmbishion
Desconectado
Mensajes: 756
|
Bueno ando mirando el SQL SERVER CE Mientras este es el código que uso para cargar la información al DataGrid Public Function RecogerConsulta(ByVal mySql As String) As DataTable Dim tmpTable As New DataTable Try cnnl = New SQLiteConnection("Data Source=Clientes.s3db") cnnl.Open() Ada = New SQLiteDataAdapter(mySql, cnnl) Ada.Fill(tmpTable) cnnl.Close() Catch ex As Exception Msgbox(ex.Message, "Error") End Try Return tmpTable End Function Private Sub Form1_Load datagrid1.DataSource = bd.RecogerConsulta("SELECT * FROM Usuario") End Sub
Ahora el codigo que da un error de Tipos es el siguiente. Dim SQLconnect As New System.Data.SQLite.SQLiteConnection Dim dataSet = New DataSet() SQLconnect.ConnectionString = "Data Source=Clientes.s3db" dataSet = dg1.DataSource SQLconnect.Open() Dim dataAdapter = New SQLiteDataAdapter("SELECT * FROM Usuario", SQLconnect) Dim CB As SQLiteCommandBuilder = New SQLiteCommandBuilder(dataAdapter) dataAdapter.UpdateCommand = CB.GetUpdateCommand() dataAdapter.InsertCommand = CB.GetInsertCommand() dataAdapter.DeleteCommand = CB.GetDeleteCommand() [b]dataAdapter.Update(dataSet, "Usuario")[/b]
bueno amigos help
|
|
« Última modificación: 20 Diciembre 2012, 18:18 pm por TrashAmbishion »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
El tag Geshi para vb.net es [code=vbnet][/code] En el segundo código, ¿el update no recibe solamente un parámetro? Saludos
|
|
« Última modificación: 20 Diciembre 2012, 18:25 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
TrashAmbishion
Desconectado
Mensajes: 756
|
En la MSDN esta este ejemplo que trabaja con el DataAdapter como tu dices pero obtengo una excepcion y supongo que sea cuando hago 'No se pq esto me parece que esta mal dataset = dg1.datasource
Y este es el ejemplo de la MSDN Public Function CreateCmdsAndUpdate(ByVal dataSet As DataSet, _ ByVal connectionString As String, ByVal queryString As String) As DataSet Using connection As New OleDbConnection(connectionString) Dim adapter As New OleDbDataAdapter() adapter.SelectCommand = New OleDbCommand(queryString, connection) Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(adapter) connection.Open() Dim customers As DataSet = New DataSet adapter.Fill(customers) ' Code to modify data in DataSet here 'Supongo que aqui es donde va la linea que creo esta mal 'que tiene los cambios en memoria. Pero obtengo la excepcion que tambien 'la explican ahi mismo en la pagina 'DBConcurrencyException dataset = dg1.datasource adapter.Update(customers) Return customers End Using End Function
La web http://msdn.microsoft.com/es-es/library/z1z2bkx2%28v=vs.80%29.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-4
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Acabo de probar en C# y no tengo problemas using System; using System.Data; using System.Data.SQLite; using System.Windows.Forms; namespace SqliteSharp { public partial class Form1 : Form { SQLiteDataAdapter adapter; DataTable table; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { SQLiteConnection connection = new SQLiteConnection ("Data Source=SqliteSharp.sqlite"); adapter = new SQLiteDataAdapter ("select * from Usuarios", connection ); SQLiteCommandBuilder command = new SQLiteCommandBuilder (adapter ); connection.Open(); adapter.Fill(table); dataGridView1.DataSource = table; } private void button1_Click(object sender, EventArgs e) { adapter.Update(table); } } }
... como verás solamente es un form en el cual en el Load cargo una grilla, y luego tiene un botón que guarda los cambios en la base de datos. Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
TrashAmbishion
Desconectado
Mensajes: 756
|
Lo que me queda por soltar el VB .NET y pasarme para Csharp es nada.. Lo hice tal cual y mira lo que dice, ando Googleando a ver que sale Dynamic SQL generation for the UpdateCommand is not supported agains a SelectCommand that does nor return any key column information
Y encontre que tengo que ponerle una llave primaria, echo esto ahora me da otro error: Concurrency violation: the UpdateCommand affected 0 of the expected 1 records
O sea que no hizo nada sigo Googleando para ver
|
|
« Última modificación: 21 Diciembre 2012, 17:08 pm por TrashAmbishion »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
¿Tu tabla tiene una PK? Con eso debería de ser suficiente Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Y encontre que tengo que ponerle una llave primaria, echo esto ahora me da otro error: Concurrency violation: the UpdateCommand affected 0 of the expected 1 records
Tu problema ahora es que tienes valores no nullables a los cuales no les estas asignando nada
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
TrashAmbishion
Desconectado
Mensajes: 756
|
Tu problema ahora es que tienes valores no nullables a los cuales no les estas asignando nada Increible bueno pues si y no.... Lo que sucede es que tengo un campo de tipo Fecha que al parecer no le estoy pasando el formato de fecha correcto y me esta dando esa violacion, pq todos los tengo puesto como NULL jajajajaja, en cuanto cambie el campo ese por VARCHAR entro que jodia, un millon de gracias sos un barbaro... Dios te bendiga que tengas mucha dicha bro, salu2 Nos vemos orita con mas problemas jajajajaja
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Fla + MDM + SQLITE
Diseño Gráfico
|
Ozz
|
0
|
3,690
|
27 Octubre 2009, 22:53 pm
por Ozz
|
|
|
problemas con sqlite
« 1 2 »
Bases de Datos
|
lanjarón
|
10
|
9,366
|
2 Febrero 2010, 17:18 pm
por ^Tifa^
|
|
|
Tutorial php+sqlite
PHP
|
lanjarón
|
3
|
6,722
|
8 Marzo 2010, 11:59 am
por lanjarón
|
|
|
Conectar Bv.Net con Sqlite
« 1 2 »
.NET (C#, VB.NET, ASP)
|
proteus8
|
11
|
15,244
|
14 Enero 2011, 04:01 am
por proteus8
|
|
|
problema con SQlite
Java
|
imaginawireless
|
1
|
2,665
|
8 Mayo 2012, 14:21 pm
por ELMED
|
|