आपको क्या करना चाहिए ExecuteReader()
. का आह्वान करें उस पर cmd
वस्तु, जैसे:
public static IEnumerable<int> GetAllVendors()
{
using (var cmd = Data.GetCommand(Configuration.DatabaseOwnerPrefix + ".GetAllInformationAndHelpVendorIds", Connections.MyDbConnection))
{
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
yield return reader.GetInt32(0);
}
}
}
}
यह मानता है कि SQL एक तालिका लौटाएगा जिसका पहला कॉलम (इंडेक्स 0
. द्वारा पहचाना गया है) विधि के लिए GetInt32()
) वह आईडी होगी जिसे आप ढूंढ रहे हैं। यदि SQL किसी अन्य कॉलम में आईडी लौटाता है, तो इंडेक्स को उस कॉलम में समायोजित करें जिसमें आप उन्हें ढूंढने की उम्मीद कर रहे हैं।
यह समाधान यह भी अपेक्षा करता है कि कमांड का कनेक्शन पहले से खुला हो। अगर ऐसा नहीं है, तो आप cmd.Connection.Open()
कर सकते हैं cmd.ExecuteReader()
. से ठीक पहले ।