sql >> Database teknologi >  >> RDS >> Sqlserver

Bitdatatype for at opregne typekortlægning fra database til datasæt i SQL Server 2008

Du kan håndtere det på 1 af 2 måder.

1) I stedet for at returnere dataene som en smule, lav castingen i din forespørgsel for at få den til at returnere Køb/Sælg som en streng baseret på værdien. Dette vil kun fungere godt, hvis dit gitter er skrivebeskyttet. Hvis du har brug for at kunne tilføje/redigere data, ville det blive rodet at konvertere dit Køb/Sælg tilbage til en smule og gennemtvinge, at brugeren kun kunne indtaste køb/sælg. Du vil sandsynligvis bruge metode 2, hvis du har brug for at tilføje/redigere data.

for eksempel. Lad os sige, at dit kolonnenavn hedder BuySell og er af typen bit

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

2) Du bliver nødt til at slå "Autogeneratecolumns" fra på DataGridView og opsætte dine kolonner manuelt. Hvis dit gitter er skrivebeskyttet, vil jeg tilføje en tekstkolonne til din køb/sælg-kolonne, der er knyttet til din bitværdi. I hændelsen Cell_Formatting for gitteret skal du derefter opdatere værdien baseret på bit. Noget som nedenstående:

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";
        }
    }
}

Hvis dit gitter skal kunne redigeres, skal du opsætte en datatabel, der repræsenterer dine Køb/Sælg-værdier med et displaymember og valuemember. Bind det som datakilde for en combobox-kolonne. Indlæsning af dataene vil nu vise Køb/Sælg korrekt i kombinationsboksen, og for nye rækker, når du vælger en værdi fra rullemenuen, vil den udfylde din underliggende datakilde med den korrekte bitværdi.




  1. Sådan opdeles en streng i SQL Server

  2. get_driver_instance() går ned med Qt

  3. Sådan bestilles data i MySql som standard

  4. MySQL select for update returnerer et tomt sæt, selvom der findes en række