webForumDet fria alternativet

Sträng c#

3 svar · 631 visningar · startad av invecklaren

invecklarenMedlem sedan jan. 2008280 inlägg
#1

Hej!

Jag måste i c# bygga upp en sträng som till ett kommandoradsprogram.
Mitt program använder två parametrar: Server och Sql-statement.

Strängen ska ut så här i princip:

-S localhost -q "Select FieldA FROM Sysmos"

Där localhost kommer från mitt program, likaså Select FieldA FROM Sysmos
Observera att sql-statement måste vara inom dubbla citationstecken!

Denna sträng får jag när jag försöker bygga upp strängen:
-S localhost -q \"Select FieldA FROM Sysmos\"

Det är ju ensträng som passar bra i c-sharp, men den gillas inte av kommandoradsprogrammet.

Jag använde (char)34 för att skapa de dubbla citationstecknen

spangoMedlem sedan juni 20008 205 inlägg
#2

Gör du så här?

Process proc = Process.Start("programmet.exe", "-S localhost -q \"Select FieldA FROM Sysmos\"");

Det borde funka. Vill man skicka in dubbelfnuttar till programmet går det att kirra, men det är jävligt bökigt pga hur Windows shellkommandon funkar.

clarkbonesMedlem sedan feb. 20013 023 inlägg
#3

Felpost

invecklarenMedlem sedan jan. 2008280 inlägg
#4

Du har rätt fungerar ju. Jag hade tänkt lite fel.

127 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)