मैं सी # में एक रिकॉर्डसेट पर डेटाबेस और लूप से कैसे कनेक्ट करूं?

सी # में रिकॉर्ड्स के सेट के लिए डेटाबेस को कनेक्ट और क्वेरी करने का सबसे आसान तरीका क्या है?

0
जोड़ा संपादित
विचारों: 1
बस दोबारा जांचने के लिए, शीर्ष नौसेना में क्लिक किया गया लिंक वास्तव में एक अलग उप-वेब पर है, न कि एक ही साइट के भीतर किसी सूची या लाइब्रेरी के दृश्य के लिए, सही? मैंने यह देखा है जब एक ही साइट के भीतर आइटम शीर्ष नौसेना बार में जोड़े गए थे और क्लिक किया गया था, क्योंकि, आप वास्तव में एक ही साइट पर हैं।
जोड़ा लेखक Lori, स्रोत

10 उत्तर

तो मैंने इसे समझ लिया और यह बहुत छोटा था लेकिन अज्ञान आनंद है। शीर्ष नेविगेशन में दिए गए लिंक को प्रकाशन सेटिंग नेविगेशन नियंत्रण के अनुसार शीर्षक के रूप में स्थापित किया गया था जिसे मैंने साइट सेटिंग्स/नेविगेशन अनुभाग से देखा था। एक बार जब मैंने उप साइट्स दिखाने के लिए सेटिंग बदल दी, तो नियंत्रण ने हेडर्स के अलावा शीर्ष साइट पर प्रत्येक साइट को दिखाया। मैंने हेडर हटा दिए और साइट लिंक के साथ छोड़ा गया जो ठीक काम कर रहा था और सक्रिय लिंक के लिए सीएसएस ठीक काम कर रहा था। यह अब मुझे पूछने के लिए मजबूर करता है कि मैं शीर्ष नेविगेशन पर हेडर का उपयोग क्यों करूंगा। शायद मुझे कुछ याद आ रही है।

निचली पंक्ति यह है कि WSS 3 नेविगेशन का उपयोग करके स्थापित मूल सहयोग पोर्टल से आने वाले व्यवस्थापक के लिए काफी सीखने की अवस्था में प्रकाशन साइटें।

2
जोड़ा

क्या आपने मास्टर पेज में अपने नेविगेशन ट्रीव्यू कंट्रोल या डेटा स्रोत के एट्रिबिट्स को बदल दिया है?

यदि हां, तो आपकी सेटिंग्स क्या हैं?

एंडर्स रस्क

1
जोड़ा
मैंने शीर्ष नौसेना नियंत्रण के लिए मास्टर पेज सेटिंग्स के साथ कुछ भी नहीं बदला है। जहां तक ​​मुझे पता है सेटिंग्स सेटिंग्स डिफ़ॉल्ट हैं।
जोड़ा लेखक Jim McKeeth, स्रोत

@ गोयिक्स - यह स्मृति से लिखे गए कुछ के लिए उत्कृष्ट है। यहां परीक्षण किया - पाया कि कनेक्शन खोला नहीं गया था। अन्यथा बहुत अच्छा है।

using System.Data.OleDb;
...

using (OleDbConnection conn = new OleDbConnection())
{
    conn.ConnectionString = "Provider=sqloledb;Data Source=yourServername\\yourInstance;Initial Catalog=databaseName;Integrated Security=SSPI;";

    using (OleDbCommand cmd = new OleDbCommand())
    {
        conn.Open();
        cmd.Connection = conn;
        cmd.CommandText = "Select * from yourTable";

        using (OleDbDataReader dr = cmd.ExecuteReader())
        {
            while (dr.Read())
            {
                Console.WriteLine(dr["columnName"]);
            }
        }
    }
}
0
जोड़ा

एचटीएमएल को देखते समय, सीएसएस कक्षाओं को सही तरीके से असाइन किया जा रहा है? या क्या मूल साइट वह है जिसने topnavselected CSS था?

यदि यह एक सीएसएस मुद्दा है, तो शायद इस स्टाइलशीट पर आपकी स्टाइलशीट ठीक से लोड नहीं हो रही है। अन्यथा साइटमैप्रावाइडर यह निर्धारित नहीं कर रहा है कि जिस साइट पर आप वर्तमान में शीर्ष नौसेना में मिलान आइटम देख रहे हैं। क्या सबसाइट्स के लिंक स्वचालित रूप से आपके लिए बनाए गए हैं या आपने लिंक डाला है? यदि आपने लिंक टाइप या कॉपी और चिपकाया है, तो आपको यह सुनिश्चित करने की आवश्यकता हो सकती है कि SharePoint जानता है कि आप एक आंतरिक यूआरएल का जिक्र कर रहे हैं। कभी-कभी आपको पृष्ठों/default.aspx या कुछ समान को हटाकर यूआरएल को संशोधित करने की आवश्यकता होती है।

0
जोड़ा
ठीक है, लेकिन सबसाइट्स कैसे जोड़ा गया? जब आपने सबसाइट बनाया, तो क्या शेयरपॉइंट आपके लिए ऐसा करता था, या आपने इसे मैन्युअल रूप से किया था? एचटीएमएल के बारे में क्या? क्या आपने इसे देखा?
जोड़ा लेखक Ray, स्रोत
शीर्ष नौसेना बार मूल रूप से सक्रिय नहीं किया गया प्रकाशन के साथ बनाया गया था। यह केवल एक सहयोगी साइट थी, इसलिए सबसाइट्स डब्लूएसएस प्रदाता के साथ सीमा के रूप में केवल एक परत थीं। साइट लिंक यूआई साइट सेटिंग्स पेज और माता-पिता से प्रत्येक साइट विरासत नेविगेशन के माध्यम से बनाए गए थे। थीम वही है। शैली बनाई गई एक कस्टम थीम का हिस्सा है।
जोड़ा लेखक Jim McKeeth, स्रोत

यह निश्चित रूप से ऐसा करने का एक अच्छा तरीका है। लेकिन यदि आप LINQ से SQL का समर्थन करने वाले डेटाबेस का उपयोग करना चाहते हैं, तो यह बहुत अधिक मजेदार हो सकता है। यह ऐसा कुछ दिख सकता है:

MyDB db = new MyDB("Data Source=...");
var q = from db.MyTable
        select c;
foreach (var c in q)
  Console.WriteLine(c.MyField.ToString());
0
जोड़ा

बहुत मोटे तौर पर और स्मृति से क्योंकि मेरे पास इस लैपटॉप पर कोड नहीं है:

using (OleDBConnection conn = new OleDbConnection())
{
  conn.ConnectionString = "Whatever connection string";

  using (OleDbCommand cmd = new OleDbCommand())
  {
    cmd.Connection = conn;
    cmd.CommandText = "Select * from CoolTable";

    using (OleDbDataReader dr = cmd.ExecuteReader())
    {
      while (dr.Read())
      {
        // do something like Console.WriteLine(dr["column name"] as String);
      }
    }
  }
}
0
जोड़ा

यह एक वैकल्पिक तरीका है (डेटा रीडर इस से तेज है):

string s = "";
SqlConnection conn = new SqlConnection("Server=192.168.1.1;Database=master;Connect Timeout=30;User ID=foobar;Password=raboof;");
SqlDataAdapter da = new SqlDataAdapter("SELECT TOP 5 name, dbid FROM sysdatabases", conn);
DataTable dt = new DataTable();

da.Fill(dt);

for (int i = 0; i < dt.Rows.Count; i++)
{
    s += dt.Rows[i]["name"].ToString() + " -- " + dt.Rows[i]["dbid"].ToString() + "\n";
}

MessageBox.Show(s);
0
जोड़ा

यदि आप SQL सर्वर डेटाबेस (संस्करण 7 और ऊपर) से पूछताछ कर रहे हैं तो आपको System.Data.SqlClient नेमस्पेस ( SqlConnection , SqlCommand और SqlDataReader ) क्योंकि उन वर्गों को SQL सर्वर के साथ काम करने के लिए अनुकूलित किया गया है।

ध्यान देने योग्य एक और बात यह है कि आपको 'कभी भी' सभी का चयन नहीं करना चाहिए क्योंकि इससे आप इस तालिका में कॉलम जोड़ या निकाल सकते हैं, इसके बाद अप्रत्याशित परिणाम हो सकते हैं।

0
जोड़ा

यदि आप बड़ी संख्या में कॉलम या रिकॉर्ड्स पढ़ने का इरादा रखते हैं तो यह नियमों को कैशिंग करने और दृढ़ता से टाइप किए गए तरीकों तक पहुंचने के लायक भी है।

using (DbDataReader dr = cmd.ExecuteReader()) {
  if (dr.Read()) {
    int idxColumnName = dr.GetOrdinal("columnName");
    int idxSomethingElse = dr.GetOrdinal("somethingElse");

    do {
      Console.WriteLine(dr.GetString(idxColumnName));
      Console.WriteLine(dr.GetInt32(idxSomethingElse));
    } while (dr.Read());
  }
}
0
जोड़ा

मुझे लगता है, आप इकाई ढांचे का प्रयास कर सकते हैं।

using (SchoolDBEntities ctx = new SchoolDBEntities())
{
     IList courseList = ctx.GetCoursesByStudentId(1).ToList();
     //do something with courselist here
}
0
जोड़ा