c # - Hvordan kan jeg generere et stigende faktureringsnummer, der indeholder tekstkoder?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en faktura i min Winform app. Jeg ønsker at øge regningenummeret automatisk ved fakturering. Jeg har en ny knap for at rydde alt og starte en ny fakturering. så jeg oprettede en kode i de knapper klikke på begivenhed.


 SqlCommand cmd = new SqlCommand("SELECT TOP 1 Bill\_No FROM POS order by Bill\_No Desc", con);
            int a = Convert.ToInt32(cmd.ExecuteScalar());
            int b = a + 1;
            string Bill = "Bill";
            txt\_BillNo.Text = Bill+b.ToString();


Nu er problemet, når jeg klikker på den knap for anden gang jeg. 'a' får varchar data. Ligesom Bill12. For det næste klik vil jeg øge som Bill13. Men da det får data fra databasen som varchar, kan den ikke øge antallet alene. Så er der nogen måde at få nummeret fra varchar? som 12 fra bill12?

Bedste reference


Du kan bruge Regex til at identificere heltal fra streng. \ D + er regex for et helt tal. Så


 //System.Text.RegularExpressions.Regex

 resultString = Regex.Match(subjectString, @"d+").Value;
 returns a string containing the first occurrence of a number in subjectString.

 Int32.Parse(resultString) will then give you the number.

Andre referencer 1


Du kan bruge ting til at erstatte Prefix, der giver dig numerisk værdi


Select STUFF('Bill1',1,4,'')