मैं कैसे एक डाटासेट में एक संग्रहीत प्रक्रिया से एकाधिक परिणाम की दुकान करते हैं?

वोट
4

मैं कैसे परिणाम के लिए सेट एक StoredProcedure से एक डाटासेट में ASP.NET में गठबंधन करते हैं?

नीचे asp.net में मेरी कोड है

SqlDataAdapter adap = new System.Data.SqlClient.SqlDataAdapter(sp_Home_MainBanner_TopStory,con);
adap.SelectCommand.CommandType = CommandType.StoredProcedure;
adap.SelectCommand.Parameters.AddWithValue(@rows, 9);

DataSet DS = new DataSet();

adap.Fill(DS, Table1);
adap.Fill(DS, Table2);

GridView1.DataSource = DS.Tables[Table2];
GridView1.DataBind();

यहां तक ​​कि अगर वहाँ दो एडाप्टर थे, मैं कैसे एक डाटासेट में परिणामों को जोड़ सकता है?

15/03/2011 को 16:23
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
16

में MS SQLहम की तरह एक प्रक्रिया बनाने के लिए:

[ create proc procedureName
    as
    begin
        select * from student
        select * from test
        select * from admin
        select * from result
    end
]

में C#, हम एक में इन मूल्यों को पुनः प्राप्त करने कोड निम्नलिखित लिखनेDataSet

{
    SqlConnection sqlConn = new SqlConnection("data source=(local);initial catalog=bj001;user id=SA;password=bj");
    SqlCommand sqlCmd = new SqlCommand("procedureName", sqlConn);
    sqlCmd.CommandType = CommandType.StoredProcedure;
    sqlConn.Open();
    SqlDataAdapter sda = new SqlDataAdapter(sqlCmd);
    DataSet ds = new DataSet();
    sda.Fill(ds);
    sqlconn.Close();

    // Retrieving total stored tables from a common DataSet.              
    DataTable dt1 = ds.Tables[0];
    DataTable dt2 = ds.Tables[1];  
    DataTable dt3 = ds.Tables[2];
    DataTable dt4 = ds.Tables[3];  

    // To display all rows of a table, we use foreach loop for each DataTable.
    foreach (DataRow dr in dt1.Rows)
    {
        Console.WriteLine("Student Name: "+dr[sName]);
    }
}
28/08/2012 को 22:06
का स्रोत उपयोगकर्ता

वोट
1

इस प्रयोग करके देखें:

adapter1.Fill(DS, "Table1, Table2");

यहाँ यह तो काम करता है ...

27/04/2011 को 14:49
का स्रोत उपयोगकर्ता

वोट
1

एक डाटासेट टेबल्स में शामिल है। अपने ऊपर के उदाहरण के लिए, यदि आप दो SqlDataAdapters था, प्रत्येक एक संग्रहीत प्रक्रिया बुला और उन्हें संग्रहीत की तरह आपने ऊपर किया।

adapter1.Fill(DS, "Table1");
adapter2.Fill(DS, "Table2");

यह आपका पहला क्वेरी से तालिका के परिणाम लेने के लिए और Table1 के रूप में डेटासेट डी एस में संग्रहीत होगा। यह तो एक ही डेटासेट में एक और टेबल (तालिका 2) स्टोर करेगा। इन तालिकाओं आप निम्नलिखित कोड का उपयोग पहुंचने के लिए:

DS.Tables["Table1"]  //Or Table2, or whatever you name it during your Fill.

आप पहले से ही आप बस ऊपर देखो कि कैसे एक डेटासेट काम करता है और तय करें कि आप अपनी जानकारी कॉल करना चाहते हैं की जरूरत है सही प्रक्रिया है,।

आप फिर भी एक DataTable में अपने परिणामों को संयोजित करना चाहते हैं, तो आप टेबल के माध्यम से पुनरावृति और जानकारी गठबंधन करने के लिए की आवश्यकता होगी।

ex:
DataTable combinedTable = new DataTable();
//Create columns

foreach (DataRow row in DS.Tables["Table1"].Rows)
{
    //Create rows?  Copy information over?  Whatever you want to do.
}
25/04/2011 को 23:58
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more