Skip to content

Commit 456c5cf

Browse files
authored
Merge pull request #7 from alosslessdev/Shiro2550
cosas extras, nose si funciona.
2 parents 6c0b2fd + 6aac7a9 commit 456c5cf

1 file changed

Lines changed: 129 additions & 1 deletion

File tree

Form1.cs

Lines changed: 129 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using System.ComponentModel;
44
using System.Data;
5+
using System.Data.SqlClient;
56
using System.Drawing;
67
using System.Linq;
78
using System.Text;
@@ -19,22 +20,149 @@ public fBiblioteca()
1920

2021
private void btMostrarLibro_Click(object sender, EventArgs e)
2122
{
23+
string connectionString = "your_connection_string_here"; // Actualiza con tu cadena de conexión
24+
string query = "SELECT * FROM Libros"; // Consulta para obtener todos los libros
2225

26+
using (SqlConnection connection = new SqlConnection(connectionString))
27+
{
28+
SqlDataAdapter dataAdapter = new SqlDataAdapter(query, connection);
29+
DataSet dataSet = new DataSet();
30+
31+
try
32+
{
33+
connection.Open();
34+
dataAdapter.Fill(dataSet, "Libros");
35+
dgvLibro.DataSource = dataSet.Tables["Libros"];
36+
}
37+
catch (Exception ex)
38+
{
39+
MessageBox.Show("Error al mostrar libros: " + ex.Message);
40+
}
41+
}
2342
}
2443

2544
private void btEliminarLibro_Click(object sender, EventArgs e)
2645
{
46+
string connectionString = "your_connection_string_here";
47+
List<int> idsEliminar = new List<int>();
48+
49+
foreach (DataGridViewRow row in dgvLibro.SelectedRows)
50+
{
51+
int id = Convert.ToInt32(row.Cells["id"].Value);
52+
idsEliminar.Add(id);
53+
}
54+
55+
if (idsEliminar.Count == 0)
56+
{
57+
MessageBox.Show("Seleccione al menos un libro para eliminar.");
58+
return;
59+
}
60+
61+
string ids = string.Join(",", idsEliminar);
2762

63+
string query = $"DELETE FROM Libros WHERE id IN ({ids})";
64+
65+
using (SqlConnection connection = new SqlConnection(connectionString))
66+
{
67+
SqlCommand command = new SqlCommand(query, connection);
68+
try
69+
{
70+
connection.Open();
71+
int filasEliminadas = command.ExecuteNonQuery();
72+
MessageBox.Show($"{filasEliminadas} libros eliminados.");
73+
74+
// Refrescar el DataGridView
75+
btMostrarLibro_Click(sender, e);
76+
}
77+
catch (Exception ex)
78+
{
79+
MessageBox.Show("Error al eliminar libros: " + ex.Message);
80+
}
81+
}
2882
}
2983

3084
private void btActualizar_Click(object sender, EventArgs e)
3185
{
86+
if (dgvLibro.SelectedRows.Count != 1)
87+
{
88+
MessageBox.Show("Seleccione un solo libro para actualizar.");
89+
return;
90+
}
91+
92+
DataGridViewRow row = dgvLibro.SelectedRows[0];
93+
int id = Convert.ToInt32(row.Cells["id"].Value);
94+
string titulo = row.Cells["Titulo"].Value.ToString();
95+
int cantidadDisponible = Convert.ToInt32(row.Cells["CantidadDisponible"].Value);
3296

97+
// Mostrar un cuadro de diálogo para actualizar la cantidad
98+
string input = Microsoft.VisualBasic.Interaction.InputBox(
99+
$"Actualizar cantidad disponible para '{titulo}':",
100+
"Actualizar cantidad",
101+
cantidadDisponible.ToString());
102+
103+
if (int.TryParse(input, out int nuevaCantidad))
104+
{
105+
string connectionString = "your_connection_string_here";
106+
string query = "UPDATE Libros SET CantidadDisponible = @Cantidad WHERE id = @id";
107+
108+
using (SqlConnection connection = new SqlConnection(connectionString))
109+
{
110+
SqlCommand command = new SqlCommand(query, connection);
111+
command.Parameters.AddWithValue("@Cantidad", nuevaCantidad);
112+
command.Parameters.AddWithValue("@id", id);
113+
114+
try
115+
{
116+
connection.Open();
117+
command.ExecuteNonQuery();
118+
MessageBox.Show("Cantidad actualizada correctamente.");
119+
120+
// Refrescar el DataGridView
121+
btMostrarLibro_Click(sender, e);
122+
}
123+
catch (Exception ex)
124+
{
125+
MessageBox.Show("Error al actualizar libro: " + ex.Message);
126+
}
127+
}
128+
}
129+
else
130+
{
131+
MessageBox.Show("Ingrese un número válido.");
132+
}
33133
}
34134

35135
private void btAgregarLibro_Click(object sender, EventArgs e)
36136
{
137+
// Datos del nuevo libro (pueden ser recogidos desde un formulario)
138+
string titulo = txtTitulo.Text; // TextBox en tu formulario
139+
string autor = txtAutor.Text;
140+
int cantidadDisponible = Convert.ToInt32(txtCantidadDisponible.Text);
141+
142+
string connectionString = "your_connection_string_here";
143+
string query = "INSERT INTO Libros (Titulo, Autor, CantidadDisponible) VALUES (@Titulo, @Autor, @Cantidad)";
144+
145+
using (SqlConnection connection = new SqlConnection(connectionString))
146+
{
147+
SqlCommand command = new SqlCommand(query, connection);
148+
command.Parameters.AddWithValue("@Titulo", titulo);
149+
command.Parameters.AddWithValue("@Autor", autor);
150+
command.Parameters.AddWithValue("@Cantidad", cantidadDisponible);
151+
152+
try
153+
{
154+
connection.Open();
155+
command.ExecuteNonQuery();
156+
MessageBox.Show("Libro agregado correctamente.");
37157

158+
// Refrescar el DataGridView
159+
btMostrarLibro_Click(sender, e);
160+
}
161+
catch (Exception ex)
162+
{
163+
MessageBox.Show("Error al agregar libro: " + ex.Message);
164+
}
165+
}
38166
}
39167

40168
private void dgvLibro_CellContentClick(object sender, DataGridViewCellEventArgs e)
@@ -47,4 +175,4 @@ private void fBiblioteca_Load(object sender, EventArgs e)
47175

48176
}
49177
}
50-
}
178+
}

0 commit comments

Comments
 (0)