webForumDet fria alternativet

Flera frågor på ett kommando

.NET

1 svar · 261 visningar · startad av Hyzac

Medlem sedan mars 200475 inlägg
Frågan#1

Jag har för mig om att jag läst nånstans att man kan köra flera frågor på ett kommandoobjekt. Jag har dock inte hittat den informationen igen. Men är det nån som vet om att istället för att göra så här:

Dim cmd as new sqlCommand("SELECT1...")
...
cmd.Fill(ds1)
...

Dim cmd2 as new sqlCommand("SELECT2...")
...
cmd2.Fill(ds2)
...

Så kör man:

dim cmd as new sqlCommand("SELECT1 : SELECT2")
...
cmd.Fill(ds1)
?cmd:nextquery?
cmd.Fill(ds2)

Förstår ni vad jag menar?

Medlem sedan nov. 20041 189 inlägg
#2

Ja, det stämmer att man kan återanvända.

        MySqlCommand objCmd = new MySqlCommand("SELECT one FROM ...", objDefaultConn);
        MySqlDataAdapter objDa = new MySqlDataAdapter(objCmd);
        DataSet ds1, ds2;
        objDa.Fill(ds1);
        objCmd.CommandText = "SELECT two FROM ...";
        objDa.SelectCommand = objCmd;
        objDa.Fill(ds2);

borde funka.
Grejen är alltså att du sätter en ny SQL sträng på ditt command och sedan kör objRdr = objCmd.ExecuteReader(); eller vad du nu vill använda en gång till.

272 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
138 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)