Está en la página 1de 4

tabla Mes (pongo esta tabla como ejemplo) y luego inserto los meses del ao Using ConSQL As New

SqlConnection(CadenaDeConexion) ConSQL.Open() tranSQL = ConSQL.BeginTransaction SQL = "Create Table Mes(MesCodigo Smallint Not Null, MesCodigoChar Char(2), MesNombre Varchar(10))" cmdSQL = New SqlCommand(SQL, ConSQL) cmdSQL.Transaction = tranSQL cmdSQL.ExecuteNonQuery() SQL = "Alter Table Mes Add Primary Key (MesCodigo)" cmdSQL = New SqlCommand(SQL, ConSQL) cmdSQL.Transaction = tranSQL cmdSQL.ExecuteNonQuery() SQL = "Insert Into Mes Values (1, '01', 'Enero')" cmdSQL = New SqlCommand(SQL, ConSQL) cmdSQL.Transaction = tranSQL cmdSQL.ExecuteNonQuery() SQL = "Insert Into Mes Values (2, '02', 'Febrero')" cmdSQL = New SqlCommand(SQL, ConSQL) cmdSQL.Transaction = tranSQL cmdSQL.ExecuteNonQuery() . . . el cdigo funciona bien, pero mi pregunta es si no hay otra forma de insertar los registros? porque como se dan cuenta necesito 4 lneas de cdigo solo para insertar un registro, a lo mucho lo puedo reducir a 3 lineas, pero an as creo que son muchas lineas de cdigo. Hay una forma ms corta y rpida de hacerlo?

obviamente sin dejar de lado el control de transaccin. lo puedo hacer usando datatables? cmo sera? gracias de antemano por su ayuda! saludos, eduardo w.

Todas las respuestas

Respuesta propuesta II Respuesta propuesta I Primer voto til

ealizas varias oepracioens distintas

dificarla no se puede agrupar para reducirlas

uede agrupar, haciando un insert en un for

Values (@id, @mes, @desc)"

ery , ConSQL)

@id", i)

@mes", String.Format("{0:00}", i))

@desc", MonthName(i))

Integer) As String

= New CultureInfo("es-ES", False).DateTimeFormat

rol de transaccin.

so del TransactionScope, es mas simple de usar para las transaciones

Primer voto til Primera respuesta foros

caso que puse se puede hacer como tu dices porque se trata de meses, pero hay otras tablas

s y que no tienen una "secuencia" lgica, como en este caso los meses, pero de todas formas

e me das a mis necesidades.

nciona el TransactionScope, cualquier cosa te comento. gracias nuevamente!