SQL Server Bitwise operators store multiple values in one column

Imaginemos que un “contrato” tiene un estado, y también varios de ellos al mismo tiempo.

De este modo tenemos:

public
enum
EnumEstado : byte { Ninguno = 0, Pendiente = 1, Entregado = 2, Aceptado = 4, Rechazado = 8, Facturado = 16}

 

En la base de datos tendremos un campo en el que si el estado del contrato es “entregado” y “aceptado”, tendrá el valor 2+4=6

 

Y ahora viene la duda, ¿cómo podemos hacer un SELECT para encontrar los contratos que estén solo aceptados si en la base de datos tenemos el valor 6 y el estado “aceptado” es 4?

 

Select *
from contrato

where ((contrato.estado & 4)=4)

 

J

Anuncios

Infragistics Web Grid. Adding a PrimaryKey for the AddNewRow

When you initialize a new row on the grid for a data source that includes a primary key, the generatePrimaryKeyValue event of igGrid Updating feature is raised to provide a primary key value to the new row. The second parameter of the event handler includes the value member which is used to return the new primary key value back up to the grid. By default, the value is initialized with a value that is equal to the number of rows in the data source. The following code listing is an example of how to implement generating a new primary key value to a new row of the grid.

In Javascript:

function getTempKey(){

var key;

//This function gets the appropriate temporary key for a new row from the server

return key;

}

   
 

$(“#grid1”).igGrid({

columns: [

{headerText:“Product ID”, key:“ProductID”, width: “100px” , dataType:“number”},

{headerText:“Product Name”, key:“Name”, width: “180px” , dataType:“string”}

],

dataSource: adventureWorks, primaryKey: ‘ProductID’,

features: [ {

name: ‘Updating’,

generatePrimaryKeyValue: function (evt, ui) {

// setting a temporary key for the new row

ui.value = getTempKey();

},

columnSettings: [ {

columnKey: “ProductID”,

editorOptions: {readOnly: true}

} ]

} ]

});

   
 

Pero mejor esta otra opción:

$(“#grid1”).live(“iggridupdatinggenerateprimarykeyvalue”, function (event, ui) {

ui.value = GENERATE_KEY_HERE

});

J