Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एएसपीनेट में सूची मानों के आधार पर जहां शर्त के साथ क्वेरी का चयन करें

यहां for . के बिना समाधान है लूप, लेकिन दुर्भाग्य से पैरामीटरयुक्त SQL कथन के बिना भी:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;

public class test {
  public static void Main(string[] args)
  {
    //List<int> listColumns = new List<int>(){ 1, 5, 6, 9};
    System.Collections.Generic.List<int> listColumns = new System.Collections.Generic.List<int>(){ 1, 5, 6, 9};
    string s = String.Join(", ", listColumns.Select(x => x.ToString()));

    string sql = String.Format("SELECT * FROM Table WHERE ID IN ({0})", s);
    Console.WriteLine(sql);
  }
}

कृपया ध्यान दें कि select * . का उपयोग करके एक बुरा अभ्यास माना जाता है

संपादित करें यहां कुछ नया कोड दिया गया है क्योंकि आपकी सूची System.Web.UI.MobileControls.List प्रकार की है।

string sql = String.Format("SELECT * FROM Table WHERE ID IN ({0})", 
                 listColumns.ListItem.Value);

2 संपादित करें मैंने आपकी टिप्पणी से कोड लिया है:

list.Items.Clear(); 
string values = DropDownList4.SelectedValue; 
string[] words = values.Split(','); 

foreach (string s in words) 
    if (s != "" && s != string.Empty && s != null)     
        list.Items.Add(s);

मुझे लगता है कि आपके पास ड्रॉपडाउन बदली हुई घटना या कुछ और है? और आपके ड्रॉपडाउन में मान में "1,5,6,9" जैसा एक स्ट्रिंग है। यदि मेरी सभी धारणाएं सही हैं तो आप इसका उपयोग कर सकते हैं:

System.Collections.Generic.List<int> selectedValues = new     System.Collections.Generic.List<int>();

foreach (string s in words)
    if (!String.IsNullOrWhiteSpace(s))
        selectedValues.Add(Convert.ToInt32(s));
string ids = String.Join(", ", selectedValues.Select(x => x.ToString()));
string sql = String.Format("SELECT * FROM Table WHERE ID IN ({0})", ids);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लॉग के बिना SQL में तालिका के बड़े डेटा को कैसे हटाएं?

  2. .NET दिनांक समय प्रकार के लिए, अनुमानित डेटाबेस प्रकार SqlDbTypes.DateTime के बजाय SqlDbTypes.DateTime2 क्यों है?

  3. SQL सर्वर डेटाबेस में सभी तालिकाओं में पहचान कॉलम में प्राथमिक कुंजी बाधा कैसे जोड़ें - SQL सर्वर / TSQL ट्यूटोरियल भाग 63

  4. SQL सर्वर प्रबंधन स्टूडियो (SSMS) के साथ डेटाबेस डिज़ाइन अवधारणाएँ भाग 1

  5. कनेक्शन बंद होने पर एक अनकमिटेड ट्रांजैक्शन का क्या होता है?