Como guardar el contenido de un ticket en una base de datos?
Publicado por Matt (75 intervenciones) el 26/06/2019 19:38:18
Hola foro!!
Actualmente estoy tratando de guadar los contenidos (texto) de un ticket de compra a una base de datos (SQLite), El ticket se ve como se muestra en la imagen:(Y no tengo problemas para imprimirlo).
Ooops!!! parece que no sirve el adjuntador de imagenes!!!
Bueno... tengo 2 tablas creadas en mi BD (base de datos) y son las siguientes:
He creado la relación de dependecia entre las 2 tablas con una llave foranea en la tabla (hija).
El problema es que para guardar todos los datos del ticket, creo que se tiene que usar un DataSet y crear una relación "Uno a muchos" para guardar la lista de los productos que aparecen en el ticket en una sola fila en la tabla (hija: TicketContents). De esa manera se puedrian guardar en la tabla (Padre: Ticket) despues poder recuperar esos datos y poder re-imprinir el ticket.
El siguiente código es el que se supone debería guardar los datos del ticket en la BD, y si lo hace pero, no de la manera que se requiere.
Como hago para guardar la lista de los productos del ticket en un DataSet guardando una relacion "uno a muchos" es decir como concentro la lista de los productos en una sola fila en la tabla (hija)???
PD: Alguien que me explique como se insertan las imagenes en este foro, lo intente pero no insertó nada.
Actualmente estoy tratando de guadar los contenidos (texto) de un ticket de compra a una base de datos (SQLite), El ticket se ve como se muestra en la imagen:(Y no tengo problemas para imprimirlo).
Ooops!!! parece que no sirve el adjuntador de imagenes!!!
Bueno... tengo 2 tablas creadas en mi BD (base de datos) y son las siguientes:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE "Ticket" (
"TicketId" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"Header" TEXT,
"Footer" TEXT,
"CreatedDate" TEXT
);
CREATE TABLE "TicketContents" (
"TicketContentId" INTEGER PRIMARY KEY AUTOINCREMENT,
"TicketId" INTEGER,
"Quantity" INTEGER,
"Description" TEXT,
"Price" REAL,
FOREIGN KEY("TicketId") REFERENCES "Ticket"("TicketId")
);
He creado la relación de dependecia entre las 2 tablas con una llave foranea en la tabla (hija).
El problema es que para guardar todos los datos del ticket, creo que se tiene que usar un DataSet y crear una relación "Uno a muchos" para guardar la lista de los productos que aparecen en el ticket en una sola fila en la tabla (hija: TicketContents). De esa manera se puedrian guardar en la tabla (Padre: Ticket) despues poder recuperar esos datos y poder re-imprinir el ticket.
El siguiente código es el que se supone debería guardar los datos del ticket en la BD, y si lo hace pero, no de la manera que se requiere.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Public Sub Save_to_tickets_table()
Dim Conection_ As SQLiteConnection = New SQLiteConnection("Data Source=C:\SystemWin\DB2\Owner.db;Version=3;")
If (Conection_.State = ConnectionState.Closed) Then Conection_.Open()
Dim add_1 As SQLiteCommand = New SQLiteCommand("INSERT INTO Ticket VALUES (?, ?, ?, ?)", Conection_)
add_1.Parameters.Add("@TicketId", Nothing)
add_1.Parameters.AddWithValue("@Header", Convert.ToString(Main_Program.TextBox1.Text))
add_1.Parameters.AddWithValue("@Footer", Convert.ToString(Main_Program.Combo_Realizado_por.Text))
add_1.Parameters.AddWithValue("@CreatedDate", Convert.ToString(Date.Now))
add_1.ExecuteNonQuery()
Dim add_2 As SQLiteCommand = New SQLiteCommand("INSERT INTO TicketContents VALUES (?, ?, ?, ?, ?)", Conection_)
Dim roww As DataGridViewRow = New DataGridViewRow()
Try
For Each roww In Main_Program.DataGridView1.Rows
add_2.Parameters.Clear()
add_2.Parameters.Add("@TicketContentId", Nothing)
add_2.Parameters.Add("@TicketId", Nothing)
add_2.Parameters.AddWithValue("@Quantity", Convert.ToString(roww.Cells(4).Value))
add_2.Parameters.AddWithValue("@Description", Convert.ToString(roww.Cells(2).Value))
add_2.Parameters.AddWithValue("@Price", CDbl(roww.Cells(6).Value))
add_2.ExecuteNonQuery()
Next
Conection_.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Como hago para guardar la lista de los productos del ticket en un DataSet guardando una relacion "uno a muchos" es decir como concentro la lista de los productos en una sola fila en la tabla (hija)???
PD: Alguien que me explique como se insertan las imagenes en este foro, lo intente pero no insertó nada.
Valora esta pregunta


0