16. november 2006 - 22:10
Der er
6 kommentarer
Hvordan indlæses en kolonne med tal som string? fx 010.000 osv?
Jeg har et Excel hvor kollonne A består af tekstværdier som til forveksling kan ligne typen double ellt int. Jeg indlæser mine data med følgende kode: OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\;Extended Properties=\"text;HDR=NO;FMT=Delimited\""; conn.Open(); OleDbCommand objCmdSelect = new OleDbCommand("select string * from temp.csv", conn); OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(); objAdapter1.SelectCommand = objCmdSelect; DataSet ds = new DataSet(); objAdapter1.Fill(ds); foreach (DataRow dr in ds.Tables[0].Rows) { //Programkode her...! } Eksempel på data i min kollone: 099.000 bliver til 99000 men jeg ønsker 099.000 som string. Hvordan definerer jeg at de data jeg indlæser er af typen string og ikke int eller double?
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
16. november 2006 - 22:52
#2
Hvad men du med at sætte "" foran? Men jeg prøvede lige følgende: string str = "" + dr[0]; MessageBox.Show(str); hvor data i dr[0] er 090.001 men vises som 90001 Jeg tror den fejlagtige fortolkning af datatypen sker når dataarket dannes og det der jeg gerne vil fortælle c# at felterne er af typen string. Som det er nu synes jeg det er c# der selv forsøger at definere typerne, hvilket jeg ønsker at undgå.
16. november 2006 - 23:09
#3
Nu har jeg ikke arbejdet så meget med dataset, men jeg tror at dr[0] er af typen object, og skal laves til streng først.. Dvs: string str = "" + dr[0].ToString(); Det skal man f.eks. med string-array og ligende.. Selv med recordset, når man bruger database.. Eksempel: string navn = rs["navn"].ToString();
16. november 2006 - 23:31
#6
..du skal muligivs trykke F11 ("gå til næste linie") efter at den stopper på linien, for at se hvad den indeholder.. Husk, det er dr[0] og ikke selve strengen..