ПредишенСледващото

командни обекти използване на параметрите за предаване на ценности в SQL изявления или съхранени процедури, осигуряване на вид проверка и точност. За разлика от командите на въвеждане на текст параметри се третират като буквални ценности и не като изпълним код. Това помага за защита срещу атаки SQL инжекция, в който нападателят вкарва SQL команда, които са застрашавали сигурността на сървъра.

Параметризираните команди също могат да подобрят ефективността, когато стартирате заявка, тъй като, когато се използва сървъра на базата данни може точно да се сравни входящо подходящия екип кеширана план заявка. За повече информация, вижте. Секции кеширане и повторна употреба на план за изпълнение и възможности за повторно използване и план за изпълнение на електронни документи за SQL Server. В допълнение към подобряването на безопасността и производителността параметризираните команди предоставя удобен метод за организиране ценности преминали към източника на данни.

DbParameter обект може да бъде създаден с помощта на конструктора, или като го добавите към колекцията от DbParameterCollection Добавете начин за събиране на DbParameterCollection. Добавете начин приема като входни аргументи за конструктор или съществуващ параметър обект - в зависимост от доставчика на данни.

Параметър информация може да бъде получен от съхранена процедура използване DbCommandBuilder клас. И двете класи, SqlCommandBuilder и OleDbCommandBuilder. осигури статичния метод DeriveParameters. която автоматично попълва параметри команда обект за събиране на информация с помощта на параметър от запомнена процедура. Имайте предвид, че метод DeriveParameters заменя текущата информация за параметрите на командата.

информация параметър Отделяне намалява производителността, тъй като изисква допълнителен обмен на данни с източника на данни. Ако информацията за параметър е известно по време на дизайн, можете да увеличите производителността на приложения, като за параметрите изрично.

Съхранени процедури предлагат много предимства в базирани на данни, приложения. Използването на съхранени процедури операции на базата данни могат да бъдат капсулирани в една команда, която е оптимизирана за работа и като повишаване на безопасността. Въпреки съхранени процедури могат да се обаждат и да използват отчета за SQL, като посочи името й на процедурата и аргументите си, събиране употреба Параметри ADO.NET обект DbCommand позволява по-ясно дефиниране на параметрите на процедурата, както и достъп до изходните параметри и да се върнете ценности.

Параметризираните отчети се изпълняват на сървъра, като използва sp_executesql съхранена процедура, която позволява повторната употреба на плановете за заявки. Местните курсори или променливи в sp_executesql партидата не са налични пакет, наречен sp_executesql. Промени в контекст база данни последното само до приключване на отчета за sp_executesql. За повече информация, вижте. В онлайн документация за SQL Server.

Ако параметри се използва с SqlCommand обект за изпълнение на съхранена процедура, SQL Server, имената на параметрите, добавени към колекцията на параметри. Трябва да съответстват на тези маркери параметри в съхранена процедура. .NET Framework Data Provider за SQL Server не поддържа заместителят (?) Да премине параметри на SQL изявления и съхранени процедури. Той обработва параметрите в съхранена процедура като параметри с имена и за маркери съответните параметри изглеждат. Например, съхранена процедура CustOrderHist определя като се използва параметър @CustomerID. Когато програмата се изпълнява тази съхранена процедура, тя също трябва да се използва параметър @CustomerID.

Ако се използват обектите или OleDbCommand OdbcCommand параметри, се добавят параметри, за да се параметрите за събиране. трябва да съответства на реда на параметрите, определени в съхранена процедура. .NET Framework доставчик на данни за OLE DB и .NET Framework доставчик на данни за ODBC третира параметри в съхранената процедура и се използва като параметър контейнер стойности в правилния ред. Освен това параметрите връщат стойност трябва да е първи параметри, които са добавени към параметрите за събиране.

.NET Framework Data Provider за OLE DB и Доставчик на .NET Framework на данни за ODBC не поддържа име параметри за преминаване параметри в SQL изявления и съхранени процедури. В този случай, трябва да използвате контейнер (?), Както и в следния пример.

В резултат на това по реда на добавяне на параметрите обекти в параметрите за събиране трябва стриктно да отговаря на позицията на параметъра контейнер (?).

Показване: наследени Защитена

Беше ли ви полезна тази страница? Да Не

напуснали 1500 символа

Благодарим Ви! Благодарим Ви за преглед. Вашето мнение е много важно за нас.

развойни центрове

общност

Свържете се с нас

Свързани статии

Подкрепете проекта - споделете линка, благодаря!