10. november 2004 - 13:06
Der er
10 kommentarer og 1 løsning
Indsættelse af komma efter hver række
Jeg har lavet et lille program der kan gennemløbe en database og spytte et view ud efter særlige kriterier... Min problem er at jeg sagtens kan generere viewet, så det ser f.eks. sådan ud create view as select a.col1 a.col2 from a Det eneste jeg manger er at lave et komma imellem a.col1 og b.col2 uden at der kommer et komma efter a.col2. Her ses lidt af min kode der outputter det ovenstående: string output_header; output_header = "create view "+View_name+"\nas\nselect\n"+ "\n"; string output = ""; string output_from = ""; while(rdr.Read()) { output = output + rdr[0].ToString()+"."+rdr[1].ToString()+"\n"; output_from = "from\n"+rdr[0].ToString(); } rdr.Close(); Console.WriteLine(output_header); Console.WriteLine(output); Console.WriteLine(output_from);
Annonceindlæg fra COMM2IG
10. november 2004 - 13:07
#1
altså så det ser sådan ud: create view as select a.col1, a.col2 from a
10. november 2004 - 13:13
#2
Det er da vist C# ! bool first = true; while(rdr.Read()) { output = output + (first?"":",") + rdr[0].ToString()+"."+rdr[1].ToString()+"\n"; first = false; output_from = "from\n"+rdr[0].ToString(); }
10. november 2004 - 13:20
#3
ja - hovsa :-) Fuck, jeg troede at det var Perl jeg kodede i :-p
10. november 2004 - 13:28
#4
Smart trick du ku' der. Men jeg lavede lidt om på det, da det ikke virkede. Byttede rundt på true og false, samt flyttede first, så den ligger bagerst. Sådan der: bool first = false; while(rdr.Read()) { output = output + rdr[0].ToString()+"."+rdr[1].ToString() +(first?"":",")+"\n"; first = true; output_from = "from\n"+rdr[0].ToString(); } Men jeg havde fundet ud af ellers, så du skal da helt sikkert ha' points. Smid et svar :-)
10. november 2004 - 13:29
#5
* men jeg havde aldrig fundet ud af det ellers * Det var det jeg ville ha skrevet :-)
10. november 2004 - 13:32
#6
ok
10. november 2004 - 13:33
#7
(jeg kan ikke helt forstå den måde du vendte det på, men virker det så skidt pyt)
10. november 2004 - 13:43
#8
er det ikke fordi den rækkerne i omvendt rækkefølge?
10. november 2004 - 14:14
#9
hov det var vist ikke helt rigtigt alligevel. Jeg ville jo egentlig gerne ha' at der kom altid komma undtaget ved siste sække og kun ved første række. f.eks col1, col2, col3, col4
10. november 2004 - 14:20
#10
prøvede du med mit forslag ?
10. november 2004 - 16:37
#11
sådan her, nu virker skidtet bool remove_last_comma = true; while(rdr.Read()) { output = rdr[0].ToString()+"."+rdr[1].ToString() +(remove_last_comma?"":",")+"\n" +output; remove_last_comma = false; output_from = "from\n"+rdr[0].ToString(); }
Kurser inden for grundlæggende programmering