Botón guardar datos datagridview c#

Hola buenas

tengo un datagridview con una serie de columnas: id, email, nombre y apellidos

y un botón de agregar, eliminar, guardar y seleccionar

el de añadir lo tengo

pero quiero que al darle guardar, se me guarde en la bd sql server 2008 que tengo conectada, tengo el siguiente código pero lo hace en forma de local, funciona bien, pero si el .exe lo copio y lo pongo en otro lado para usarlo me da error ya veras:

/*Aquí debemos Remplazar este datasource por tu la ruta donde esta tu BD.*/
String source = @"Data Source=JAVI\SQLEXPRESS;AttachDbFilename=G:\Ejercicios c#\Oposiciones\Oposiciones\lista.mdf;Integrated Security=True;User Instance=True";
SqlConnection conexión = new SqlConnection(source);
conexión.Open();
SqlCommand query = new SqlCommand("Insert into lista(email,nombre,apellidos) Values('" + textBox1.Text + " ','" + textBox2.Text + "','" + textBox3.Text + "');", conexión);
query.ExecuteNonQuery();
conexión.Close();
MessageBox.Show("El Registro ha sido almacenado", "Guardado", MessageBoxButtons.OK);
limpiar();

el error es por que la conexión de la bd la tengo en una ruta

me podría ayudar?

dígame su email o mejor skype para poder hablar, le pasaría el proyecto para que lo pudiera ver mejor o también imágenes

un saludo y muchas gracias

javier

2 respuestas

1
Respuesta de

hola que tal mucho gusto disculpa la demora en contestar, mira como tu mismo lo dijiste el problema es por al conexión que si la tienes en el código fuente a lo que vas a otra maquina no va a servir, para esto propongo dos opciones

1) que la base de datos este en un servidor central y todos los clientes envíen datos y recuperen datos de ese server central (Opción recomendada, centralizas los datos de todos los clientes en una sola base de datos del server, la cadena de conexión es única para todos y si le pones en el código fuente nadie podrá observar tu cadena de conexión, no necesita sqlserver en cada maquina)

2) que la  cadena de conexión la pongas en un archivo de configuración y la cambies para cada cliente (Opción que no recomiendo, cadenas de conexión vulnerables para que el usuario las pueda ver, diferentes bases de datos por clientes osea no se tiene información centralizada)

Así que te recomiendo la primera opción

si quieres dame tu correo y te agrego saludos

Añade un comentario a esta respuesta
1
Respuesta de

Hola,

ante todo disculpa la demora en la respuesta pero he estado muy ocupado.

Necesitaría saber exactamente el texto del error para poder ayudarle mejor pero, viendo la situación que me plantea, se me ocurre que sea:

1) Un problema de permisos. En tal caso tendría que irse a G:\Ejercicios c#\Oposiciones\Oposiciones\lista.mdf", botón derecho sobre el fichero > propiedades y asegurarse de que tiene permisos de escritura.

Si fuera esto el síntoma sería que no podría hacer INSERT, DELETE o UPDATE pero SI SELECT.

2) Un problema de acceso a la ruta. El exe no tiene acceso a la unidad "G:". En tal caso no funcionaría ningún tipo de consulta y debería revisar su configuración de red (¿Si pone G:\Ejercicios c#\Oposiciones\Oposiciones\en su explorer la carga las carpetas?)

Espero su respuesta

Un saludo!

Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje