Botón guardar datos datagridview c#

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

2 Respuestas

Respuesta
1

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

hola buenas muchas gracias por contestar lo primero

sisi lo subí la bd a mi servidor

la tengo en www.displacetool.es/lista.mdf

ahí la tengo alojada pero no se hacer la conexión para que la coja de ahí, si me lo pudieras decir te lo agradecería

este es mi correo: [email protected]

y mi skype: conquist_15

agrégame a los 2 ok te lo agradecería

te mandaría el proyecto o el código si quieres

un saludo y muchas gracias

javier

Ya te agregue en el hotmail, lastimosamente no utilizo skype, y no la idea es tenerlo en un sqlserver como tal, no subir el mdf a un server o algo así, te recomiendo, no te recomiendo de esa forma es peligroso porque hasta se te pueden robar la base de datos

Respuesta
1

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?)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas