Gracias!!
Micodigo es el siguiente:
Código C++:
El error que me sale es en la ultima linea que es el siguiente:Ver original
public static bool Genero(Genero objGenero, Artista objArtista) { bool resultado = false; //Se crea la cadena deconexion string CadenaConexion = ConfigurationManager.ConnectionStrings["audvid"].ConnectionString;//Conexion de BD en archivo app.config if (CadenaConexion == null) return resultado; //Ahora creamos lo objetos de conexion SqlConnection Cnx = new SqlConnection(CadenaConexion); SqlCommand Cmd = new SqlCommand(string.Empty, Cnx); SqlParameter Paramer; SqlTransaction Transac; SqlDataAdapter Adapter = new SqlDataAdapter(string.Empty, Cnx); DataSet DSet = new DataSet(); int IdGenero = 0; //Ejecucion del query. Bloque la conexion para evitar la concurrencia using (Cnx) { //Checare el acceso a datos try { Cnx.Open(); Transac = Cnx.BeginTransaction(); } catch (SqlException ex) { BitacoraTexto.Escribe(ex.Message); return resultado; } //Con la ejecucion abierta ejecutamos el query usando transacciones. try { //Preparamos comando de transaccion Cmd.Transaction = Transac; //leemos la consulta. Cmd.CommandText = SqlInsert.Genero; //Agregamos parametros a esa consulta Paramer = new SqlParameter("@Genero", objGenero.NombreGenero); Cmd.Parameters.Add(Paramer); //Ejecutamos query Cmd.ExecuteNonQuery(); Cmd.Parameters.Clear(); //Obtengo Id del registro recien insertado Cmd.CommandText = new SqlSelect().RecuperaIdGenero; Adapter.SelectCommand = Cmd; Adapter.SelectCommand.Connection = Cnx; Adapter.Fill(DSet); IdGenero = (int)DSet.Tables[0].Rows[0][0];//La conversión especificada no es válida.
//La conversión especificada no es válida.
Mi query es el siguiente:
Código C++:
El cual funciona, realmente me regresa el ultimo ID de la tabla, lo probe en sqlserver y sin problemas, el problema esta es como almaceno ese dato en mi variable.Ver original
class SqlSelect { public string RecuperaIdGenero { get { return "SELECT ISNULL(MAX(IdGenero),0) FROM Genero"; } } }
De antemano muchas gracias =)