다른 프로그램에서 사용하는 프로시저를 웹으로 호출을 해서 사용을 하려고 하는데요.
프로시저를 보니 프로시저 내에 4개의 select 문으로 구성이 되어져 있더라구요.
보통 asp 에서 쿼리를 할때는
SET Rs = DB.execute( Select data1, data2 from TABLE )
뭐 이런식으로 해서
do while not rs.eof
rs.movenext
loop
로 해서 검색결과를 조회를 해왔습니다.
그런데 저장 프로시저안에 결과값이 하나만 있다고 하면 위처럼 하면 되는거 같은데...
지금 제가 본 프로시저에는 Select 문만 4개가 있네요.
이 4개를 실행을 시켜서 각각 데이터를 가져 온다음 이를 활용을 하면 될것 같은데요.
asp 에서 어떤식으로 데이터들을 받을 수 있을 까요?
저장프로시저 SP_DATA
Select data1 from DATA1
Select data2 from DATA2
Select data3 from DATA3
Select data4 from DATA4
처럼 되어져 있습니다.
CS 프로그램에서는 이를 어떻게 했는지 파악을 현재는 할 수는 없구요. 이를 활용해서 똑같이 웹으로 구현을 하고 싶은데....
어찌 해야 할지 모르겠네요.
SET Rs = DB.execute( SP_DATA )
do while not rs.eof
response.write Rs(0) & "<br>"
response.write Rs(1) & "<br>"
rs.movenext
loop
이렇게 하니 첫번째 Select 문에 대한 결과 값만 나오네요.
구글에서 검색을 하니..
DataSet ds = new DataSet();
SqlConnection cn = new SqlConnection("");
SqlCommand cmd = new SqlCommand("storedprocedurename",cn);
cmd.CommandType = CommandType.StoredProcedure;
//add parameters if you have
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);now ds is with 3 Table;
ddl1.DataSource=ds.Tables[0];
ddl1.DataValueField="Table1ID";
ddl1.DataTextField="Table1Name";
ddl1.DataBind();
ddl2.DataSource=ds.Tables[1];
ddl2.DataValueField="Table2ID";
ddl2.DataTextField="Table2Name";
ddl2.DataBind();
ddl3.DataSource=ds.Tables[2];
ddl3.DataValueField="Table3ID";
ddl3.DataTextField="Table3Name";
ddl3.DataBind();
이런식으로 나오는데... 저의 경우를 어떻게 활용을 해야 할지 모르겠네요.
Comment 1
-
항해자™
2016.11.29 20:17
NextRecordSet 으로 검색해 보세요,,