sql >> Databasteknik >  >> RDS >> Sqlserver

Bitdatatyp till enum-typmappning från databas till datauppsättning i SQL Server 2008

Du kan hantera det på ett av två sätt.

1) Istället för att returnera data lite, gör castingen i din fråga så att den returnerar Köp/Sälj som en sträng baserat på värdet. Detta kommer bara att fungera bra om ditt rutnät är skrivskyddat. Om du behöver kunna lägga till/redigera data skulle det bli rörigt att konvertera ditt köp/sälj tillbaka till lite och genomdriva att användaren bara kan ange köp/sälj. Du skulle förmodligen vilja använda metod 2 om du behöver lägga till/redigera data.

t.ex. låt oss säga att ditt kolumnnamn heter BuySell och är av typen bit

SELECT CASE WHEN BuySell = CAST(0 AS BIT) THEN 'Buy' ELSE 'Sell' AS BuySell FROM TableName

2) Du måste stänga av "Autogeneratecolumns" på DataGridView och ställa in dina kolumner manuellt. Om ditt rutnät är skrivskyddat, skulle jag lägga till en textkolumn för din köp/sälj-kolumn som mappar till ditt bitvärde. Uppdatera sedan värdet baserat på biten i händelsen Cell_Formatting för rutnätet. Något liknande nedan:

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (dgv.Columns[e.ColumnIndex].Name == "buysell")
    {
        if (e.Value != null)
        {
            if (e.Value.ToString() == "1")
            {
                e.Value = "Sell";
            }
            else
            {
                e.Value = "Buy";
            }
        }
        else
        {
            e.Value = "Buy";
        }
    }
}

Om ditt rutnät måste kunna redigeras, ställ in en datatabell som representerar dina köp-/säljvärden med en displaymember och valuemember. Bind det som datakälla för en combobox-kolumn. När du laddar informationen kommer Köp/Sälj att visas korrekt i kombinationsrutan och för nya rader när du väljer ett värde från rullgardinsmenyn kommer det att fylla i din underliggande datakälla med rätt bitvärde.




  1. Oracle SELECT WHERE-värdet finns eller existerar inte

  2. Importera CSV-fil direkt till MySQL

  3. Det går inte att ansluta Ruby on Rails till mysql-fjärrdatabas

  4. Kan ett dödläge uppstå med samma åtkomstmetod?