Buenas, tengo un problema y es que no entiendo muy bien como va a entender el access la sentencias SQL que le meto y luego como tratarlas. El caso que tengo entre manos es que he creado una BD de Access y he declarado una variable ID como primaria en una Tabla y en otra lo mismo pero que aparte será
clave ajena de la anterior.
Me gustaría saber a la hora de Insertar datos si tengo que especificar la ID(clave primaria) o si la rellenará el ACCESS por su cuenta. Os enseñó mí situación para que podais comprender.
T_DATOS{ Id CP INTEGER, Estudios VARCHAR, ...} T_FORMULARIO{Id CP && Clave Ajena INTEGER, C1 INTEGER, ...}
Código: (no pongo todo el código para simplificar y no marear)
Crear BASE DE DATOS: en principio esto esta bien, como he dicho falta mucho código, solo presento digamos la partes críticas
/***********************************************************************************/
cat.Create(con)
Conectar();
conexion.Open();
t = "CREATE TABLE DATOS(Id NUMBER(6) PRIMARY KEY, Edad NUMBER(2), Estudios VARCHAR(20) FOREIGN KEY (Estudios)Reference ESTUDIOS,)";
comando = new OleDbCommand(t, conexion);
t = "CREATE TABLE FORMULARIO(Id NUMBER(6) FOREIGN KEY (Id) REFERENCE DATOS ON UPDATE CASCADE ON DELETE CASCADE, C1 NUMBER(1))";
conexion.Close();
/**********************************************************************************/
INSERTAR: Mí duda esta en esta parte de código
/**********************************************************************************/
String t = "INSERT INTO DATOS VALUES(@" + d.getId() + ",@" + d.getEdad() +")";
comand = new OleDbCommand(t, conexion);
t = "INSERT INTO FORMULARIO VALUES(@"+f.getId();
for (int i = 0; i <= 14; i++) t += f.getRespuesta(i) + ",";
t += f.getRespuestastring(14) + "," + f.getRespuestastring(15) + ")";
conexion.Open();
comand = new OleDbCommand(t, conexion);
conexion.Close();
/**********************************************************************************/
En este caso que tengo que hacer, introducir el id manualmente, o no presentarlo y lo pone el access solo??
Muchas gracias por vuestra atención