दिलचस्प पोस्ट
अजगर कैसे तैयार किए गए शब्दकोशों में निर्मित है दिनांक प्रारूप पार्स अपवाद – "ईईई एमएमएम डीडी एच एच: एमएम: एसएस जेड य्याय" एंड्रॉइड में पीडीएफ़ को कनवर्ट करें कांगारू के लिए बूटस्ट्रैप का प्रयोग और कोणीय के लिए सामग्री डिज़ाइन आईफोन इमोटिकॉन को MySQL में डालें लेकिन खाली मूल्य बनें जावा डिफ़ॉल्ट क्रिप्टो / एईएस व्यवहार पाठ के बीच सिमेंटिक लिंक की कल्पना करने के लिए एक HTML पृष्ठ पर तीर आकर्षित करना ऊपर, नीचे, वाम और दायां तीर कुंजी कुंजीडाउन ईवेंट को ट्रिगर नहीं करते हैं पायथन एलिप्सिस ऑब्जेक्ट क्या करता है? एक्सएमएल स्कीमा और डीटीडी में क्या अंतर है? फ़ाइल सामग्री को istringstream में कैसे पढ़ा जाए? उपयोग किए जाने से पहले कार्य करने की आवश्यकता क्यों है? * NgFor का उपयोग करके जेसन ऑब्जेक्ट कैसे प्रदर्शित करें I क्या एक क्लॉज के दायरे में स्तंभों का क्रम क्या है? जीआईटी में पिछले संस्करण में एक फ़ाइल को वापस लेना

कैसे सी # क्वेरी में सी # क्वेरी निष्पादित करने के लिए? उदाहरण बैच फ़ाइल है

ठीक है, मेरे पास एक पुरानी बैच फ़ाइल है जो वास्तव में मुझे क्या चाहिए। हालांकि, नए प्रशासन के साथ हम अब बैच फ़ाइल नहीं चला सकते हैं इसलिए मुझे सी # के साथ शुरू करना होगा।

मैं विजुअल स्टूडियो सी # का उपयोग कर रहा हूं और मेरे पास पहले से ही ऐसे अनुप्रयोग हैं जिनके लिए मैं निर्माण की आवश्यकता है। (मैं सीख रहा हूं जैसा मैं जाता हूं)

सी # (यह बैच की हिम्मत है) में पूरा करने की जरूरत है

sqlcmd.exe -S .\PDATA_SQLEXPRESS -U sa -P 2BeChanged! -d PDATA_SQLEXPRESS -s ; -W -w 100 -Q "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = '%name%' " 

मूलतः यह SQLCMD.exe का SQLCMD.exe पहले से मौजूद SQLCMD.exe साथ करता है, जिसे PDATA_SQLExpress कहा जाता है।
मैंने खोज की और पास कर लिया है, लेकिन मैं अभी भी शुरू होने पर नुकसान के बारे में जानता हूं।

Solutions Collecting From Web of "कैसे सी # क्वेरी में सी # क्वेरी निष्पादित करने के लिए? उदाहरण बैच फ़ाइल है"

सी # से सीधे अपने आदेश को निष्पादित करने के लिए, आप एसक्यूएल कॉमांड क्लास का इस्तेमाल करेंगे।

पैरामीराइज्ड एसक्यूएल (इंजेक्शन के हमलों से बचने के लिए) का इस्तेमाल करते हुए त्वरित नमूना कोड इस तरह दिख सकता है:

 string queryString = "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = @tPatSName"; string connectionString = "Server=.\PDATA_SQLEXPRESS;Database=;User Id=sa;Password=2BeChanged!;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.AddWithValue("@tPatSName", "Your-Parm-Value"); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader["tPatCulIntPatIDPk"], reader["tPatSFirstname"]));// etc } } finally { // Always call Close when done reading. reader.Close(); } } 

आपकी बैच फ़ाइल जो कर रही थी, ऐसा करने के लिए ऐसा कुछ पर्याप्त होना चाहिए (कंटोल पर सेमी-कोलन सीमांकित पाठ के रूप में परिणाम सेट करना):

 // sqlcmd.exe // -S .\PDATA_SQLEXPRESS // -U sa // -P 2BeChanged! // -d PDATA_SQLEXPRESS // -s ; -W -w 100 // -Q "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = '%name%' " DataTable dt = new DataTable() ; int rows_returned ; const string credentials = @"Server=(localdb)\.\PDATA_SQLEXPRESS;Database=PDATA_SQLEXPRESS;User ID=sa;Password=2BeChanged!;" ; const string sqlQuery = @" select tPatCulIntPatIDPk , tPatSFirstname , tPatSName , tPatDBirthday from dbo.TPatientRaw where tPatSName = @patientSurname " ; using ( SqlConnection connection = new SqlConnection(credentials) ) using ( SqlCommand cmd = connection.CreateCommand() ) using ( SqlDataAdapter sda = new SqlDataAdapter( cmd ) ) { cmd.CommandText = sqlQuery ; cmd.CommandType = CommandType.Text ; connection.Open() ; rows_returned = sda.Fill(dt) ; connection.Close() ; } if ( dt.Rows.Count == 0 ) { // query returned no rows } else { //write semicolon-delimited header string[] columnNames = dt.Columns .Cast<DataColumn>() .Select( c => c.ColumnName ) .ToArray() ; string header = string.Join("," , columnNames) ; Console.WriteLine(header) ; // write each row foreach ( DataRow dr in dt.Rows ) { // get each rows columns as a string (casting null into the nil (empty) string string[] values = new string[dt.Columns.Count]; for ( int i = 0 ; i < dt.Columns.Count ; ++i ) { values[i] = ((string) dr[i]) ?? "" ; // we'll treat nulls as the nil string for the nonce } // construct the string to be dumped, quoting each value and doubling any embedded quotes. string data = string.Join( ";" , values.Select( s => "\""+s.Replace("\"","\"\"")+"\"") ) ; Console.WriteLine(values); } } 

यदि आप विवरण में नहीं जाना चाहते हैं तो SqlCommand का उपयोग करते हुए क्वेरी को कैसे निष्पादित करें, तो आप उसी प्रकार से कमांड लाइन पर कॉल कर सकते हैं:

 string userInput = "Brian"; var process = new Process(); var startInfo = new ProcessStartInfo(); startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = string.Format(@"sqlcmd.exe -S .\PDATA_SQLEXPRESS -U sa -P 2BeChanged! -d PDATA_SQLEXPRESS -s ; -W -w 100 -Q "" SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = '{0}' """, userInput); process.StartInfo = startInfo; process.Start(); 

बस यह सुनिश्चित करें कि आप प्रत्येक डबल उद्धरण " साथ "" बचें ""

महत्वपूर्ण नोट: आपको इस तरह से एसक्यूएल प्रश्नों को सम्मिलित नहीं करना चाहिए जब तक कि आप उपयोगकर्ता को पूरी तरह से विश्वास न करें। क्वेरी सम्मिलन में दुनिया भर में एसक्यूएल इंजेक्शन का इस्तेमाल होने का खतरा शामिल है, … अपने डेटाबेस को।