উত্তর:
ExecuteScalar
সাধারণত যখন আপনার ক্যোয়ারী একক মান ফেরত দেয় তখন ব্যবহৃত হয়। যদি এটি আরও বেশি দেয়, তবে ফলাফলটি প্রথম সারির প্রথম কলাম। একটি উদাহরণ হতে পারে SELECT @@IDENTITY AS 'Identity'
।ExecuteReader
একাধিক সারি / কলাম (যেমন, SELECT col1, col2 from sometable
) সহ যে কোনও ফলাফলের জন্য সেট ব্যবহৃত হয় ।ExecuteNonQuery
সাধারণত ফলাফল ছাড়াই এসকিউএল স্টেটমেন্টের জন্য ব্যবহৃত হয় (উদাঃ, আপডেট, ইনসার্ট, ইত্যাদি)।ExecuteNonQuery
প্রভাবিত সারি সংখ্যা ফিরে আসতে পারে।
ExecuteNonQuery ():
ExecuteReader ():
ExecuteScalar ():
রেফারেন্স ইউআরএল:
http://nareshkamuni.blogspot.in/2012/05/what-is-difference-between.html
প্রতিটি এক ভিন্ন ধরণের কার্যকর করা।
এক্সিকিউটসকালার ক্যোয়ারির ধরণ হতে চলেছে যা একক মান প্রদান করবে।
একটি উদাহরণ সন্নিবেশ করার পরে একটি উত্পন্ন আইডি ফিরে আসবে।
INSERT INTO my_profile (Address) VALUES ('123 Fake St.');
SELECT CAST(scope_identity() AS int)
এক্সিকিউটআরডার আপনাকে একটি ডেটা রিডার প্রদান করে যা আপনাকে একবারে ফলাফলগুলির সমস্ত কলাম পড়তে দেয়।
এক বা একাধিক ব্যবহারকারীর জন্য প্রোফাইল তথ্য টানতে একটি উদাহরণ হবে।
SELECT * FROM my_profile WHERE id = '123456'
এক্সিকিউটননকুইয়ারি এমন কোনও এসকিউএল যা মানগুলি ফিরিয়ে দেয় না, তবে বাস্তবে কোনও কিছু মুছে ফেলা বা সংশোধন করার মতো কিছু কাজ সম্পাদন করে।
উদাহরণস্বরূপ ডাটাবেসে কোনও ব্যবহারকারীর প্রোফাইল আপডেট করা হবে।
UPDATE my_profile SET Address = '123 Fake St.' WHERE id = '123456'
দস্তাবেজগুলি থেকে (দ্রষ্টব্য: এমএসডিএন হ'ল একটি কার্যকর সংস্থান যখন আপনি জানতে চান যে জিনিসগুলি কী করে!):
একটি ডাটাবেস থেকে একক মান (উদাহরণস্বরূপ, একটি সামগ্রিক মান) পুনরুদ্ধার করতে এক্সিকিউটিস্কেলার পদ্ধতিটি ব্যবহার করুন। এটি এক্সিকিউটরিডার পদ্ধতি ব্যবহার করার চেয়ে কম কোডের প্রয়োজন, এবং তারপরে স্কালডিটাআরডার দ্বারা ফিরিয়ে নেওয়া ডেটা ব্যবহার করে আপনাকে যে একক মান তৈরি করতে হবে সেই ক্রিয়াকলাপগুলি সম্পাদন করতে হবে।
কমান্ডটেক্সটকে সংযোগে প্রেরণ করে এবং স্কেলডাটাআরডিডার তৈরি করে।
... এবং স্কেলডাটাডার থেকে ...
এসকিউএল সার্ভার ডাটাবেস থেকে সারিগুলির কেবলমাত্র ফরওয়ার্ড স্ট্রিম পড়ার একটি উপায় সরবরাহ করে। এই শ্রেণিটি উত্তরাধিকারসূত্রে প্রাপ্ত হতে পারে না।
আপনি ক্যাটালগ ক্রিয়াকলাপ সম্পাদনের জন্য এক্সিকিউটননকিউয়ারি ব্যবহার করতে পারেন (উদাহরণস্বরূপ, একটি ডাটাবেসের কাঠামোটি অনুসন্ধান করা বা টেবিলের মতো ডাটাবেস অবজেক্ট তৈরি করা), অথবা আপডেটসেট, ইনসার্ট, বা বিবরণী বিলোপ করে ডেটাসেট ব্যবহার না করে ডাটাবেসে ডেটা পরিবর্তন করতে।
অন্যরা যা পোস্ট করেছে তাতে যুক্ত করতে:
এক্সিকিউটিস্কেলার ধারণা অনুসারে ফলাফলসেটের প্রথম সারিতে বামতম কলামটি ধারণ করে; আপনি কর্মীদের কাছ থেকে একটি নির্বাচন করুন * কার্যকর করতে পারেন, তবে আপনি কেবল ফলাফল সারিগুলির প্রথম কক্ষটি পেতে পারেন সাধারণত কোনও একক মান প্রত্যাবর্তনের প্রশ্নের জন্য ব্যবহৃত হয়। আমি 100% নিশ্চিত SQLServer সম্পর্কে নই কিন্তু ওরাকল, আপনি wouldnt একটি ফাংশন (একটি ডাটাবেস কোডটি আয় একটি একক মান) চালানোর জন্য এটি ব্যবহার এবং এটি আপনার ফাংশন যদিও ফাংশন একক মান আসতে ফেরত মান দিতে আশা। যাইহোক, যদি আপনি কোনও প্রশ্নের অংশ হিসাবে ফাংশনটি চালাচ্ছেন, যেমন ডুয়াল থেকে নির্বাচন করুন ('এবিসি', 1, 1) তবে এটি রিটার্নের মানটি এই সত্যের ভিত্তিতে প্রদান করবে যে রিটার্নের মান উপরের বামদিকের মধ্যে সঞ্চিত রয়েছে ফলস্বরূপ রোসেটের ঘর
এক্সিকিউটনিউকোয়্যারি ডাটাবেস স্টোরেজ পদ্ধতি, ফাংশন এবং ডেটা সংশোধনকারী ক্যোয়ারীগুলি (ইনসার্ট / আপডেট / ডিলিট) বা ডেটাবেস কাঠামো সংশোধন (টেবিল তৈরি করুন ...) চালানোর জন্য ব্যবহৃত হবে। সাধারণত কলের রিটার্নের মানটি কতটি সারি অপারেশন দ্বারা প্রভাবিত হয়েছিল তার একটি ইঙ্গিত তবে এটির গ্যারান্টি রাখতে ডিবি ডকুমেন্টেশন চেক করুন
ExecuteReader()
একটি এসকিউএল কোয়েরি কার্যকর করে যা ডেটা সরবরাহকারী DBDataReader অবজেক্টটি প্রদান করে যা কেবলমাত্র ফরোয়ার্ড সরবরাহ করে এবং কোয়েরির ফলাফলের জন্য কেবল অ্যাক্সেস পড়বে।
ExecuteScalar()
অনুরূপ ExecuteReader()
পদ্ধতি যে এই ধরনের একটি রেকর্ড গণনা প্রাপ্তির হিসাবে Singleton জিজ্ঞাসার জন্য ডিজাইন করা হয়েছে।
ExecuteNonQuery()
নন-কোয়েরি কার্যকর করুন যা তৈরি করতে, মুছে ফেলতে, আপডেট করতে, সন্নিবেশ করতে কাজ করে)
ExecuteNonQuery
এই এক্সিকিউটিভনকিউয়ের পদ্ধতিটি কেবল সন্নিবেশ, আপডেট এবং মুছা, তৈরি এবং SET বিবৃতিতে ব্যবহৃত হবে। এক্সিকিউটননকুইয়ারি পদ্ধতি INSERT, মোছা বা আপডেটের ক্রিয়াকলাপ দ্বারা প্রভাবিত সারিগুলির সংখ্যা ফিরিয়ে দেবে।
ExecuteScalar
ডাটাবেস থেকে একক মান পুনরুদ্ধার করা খুব দ্রুত। এক্সিকিউট স্কেলার এসকিউএল কোয়েরি বা কমান্ড অবজেক্ট ব্যবহার করে সঞ্চিত পদ্ধতি কার্যকর করার সময় একক সারিতে একক কলাম মান অর্থাৎ একক মান প্রদান করবে। ExecuteReader
এক্সিকিউট রিডার এসকিউএল কোয়েরি কার্যকর করার সময় বা কমান্ড অবজেক্ট ব্যবহার করে সঞ্চিত পদ্ধতি প্রয়োগ করে সারিগুলির সেটটি ফেরত দিতে ব্যবহৃত হবে। এটি একমাত্র রেকর্ড পুনরুদ্ধারের জন্য এগিয়ে এবং এটি প্রথম থেকে শেষ পর্যন্ত টেবিলের মানগুলি পড়তে ব্যবহৃত হয়।
এক্সিকিউটননকুইয়ারি পদ্ধতি INSERT, মোছা বা আপডেটের ক্রিয়াকলাপ দ্বারা প্রভাবিত সারিগুলির সংখ্যা ফিরিয়ে দেবে। এই এক্সিকিউটিভনকিউয়ের পদ্ধতিটি কেবল সন্নিবেশ, আপডেট এবং মুছা, তৈরি এবং SET বিবৃতিতে ব্যবহৃত হবে। (আরও পড়ুন)
এক্সিকিউটিস্কেলার এসকিউএল কোয়েরি বা কমান্ড অবজেক্ট ব্যবহার করে সঞ্চিত পদ্ধতি কার্যকর করার সময় একক সারির একক কলাম মান অর্থাৎ একক মান প্রদান করবে। ডাটাবেস থেকে একক মান পুনরুদ্ধার করা খুব দ্রুত। (আরও পড়ুন)
এক্সকিউটআরডারটি এসকিউএল কোয়েরি বা স্টোরড পদ্ধতি ব্যবহার করে কমান্ড অবজেক্ট ব্যবহার করে সারিগুলির সেটটি ফেরত দিতে ব্যবহৃত হবে। এটি একমাত্র রেকর্ড পুনরুদ্ধারের জন্য এগিয়ে এবং এটি প্রথম থেকে শেষ পর্যন্ত টেবিলের মানগুলি পড়তে ব্যবহৃত হয়। (আরও পড়ুন)
এক্সিকিউটনকুইকিরি: সাধারণত যখন ব্যবহৃত হয় স্ক্রোল স্টেটমেন্ট থেকে সন্নিবেশ, আপডেট, অপারেশন মোছার মতো কিছু না পাওয়া যায় তখন ব্যবহৃত হয়।
cmd.ExcecuteNonQuery();
ExecuteScalar:
এটি যখন ব্যবহৃত হবে যখন এসকিএল ক্যোয়ারী একক মান প্রদান করে।
Int b = cmd.ExcecuteScalar();
ExecuteReader
এটি যখন ব্যবহৃত হবে যখন এসকিএল কোয়েরি বা সঞ্চিত পদ্ধতিটি একাধিক সারি / কলামগুলি ফেরত দেয়
SqlDataReader dr = cmd.ExecuteReader();
আরও তথ্যের জন্য আপনি এখানে ক্লিক করতে পারেন http://www.dotnetqueries.com/Article/148/-difference-between-executescalar-executereader-executenonquery