Обновите БД с помощью хранимой процедуры и ADO.NET - PullRequest
3 голосов
/ 24 февраля 2012

Я думаю, что мне не хватает инструкции «ИСПОЛЬЗОВАНИЕ» в моем классе, поскольку я получаю сообщение об ошибке при попытке установить commandType в качестве хранимой процедуры. Когда я набираю «cmd.CommandType =», Intellisense не может найти'CommandType.StoredProcedure (Примечание: функция только частично отключена). Заранее спасибо!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;


namespace LegacyForms.Personal
{
    public partial class FormBuilder : System.Web.UI.Page
    {
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //Get the DB connection:
            string ConnString = ConfigurationManager.AppSettings["AssociatedBank2011ConnectionString"];
            SqlConnection conn = new SqlConnection(ConnString);



        SqlCommand cmd = new SqlCommand("uspInsertPersonalAccountApplcation", conn);
        cmd.Commandtype = **get error here!**
        cmd.Parameters.AddWithValue("@AccountType", AcctType);
        cmd.Parameters.AddWithValue("@AccountSubType", AcctSubType);
        cmd.Parameters.AddWithValue("@CheckingOption", CheckOption);

        conn.Open();
        cmd.ExecuteNonQuery();

        conn.Close();
    }
}

}

Ответы [ 3 ]

2 голосов
/ 24 февраля 2012
using System.Data;

Вам необходимо указать System.Data.См. Справочник MSDN для перечисления CommandType .Прямая цитата:

Пространство имен : System.Data Сборка : System.Data ( в System.Data.dll )

1 голос
/ 24 февраля 2012

Я бы также порекомендовал оператор other using для ваших SqlConnection и SqlCommand объектов.Поскольку оба они реализуют интерфейс IDisposable, вы можете сделать следующее:

string ConnString = ConfigurationManager.AppSettings["AssociatedBank2011ConnectionString"];
using (SqlConnection conn = new SqlConnection(ConnString))
using (SqlCommand cmd = new SqlCommand("uspInsertPersonalAccountApplcation", conn))
{
    cmd.Commandtype = CommandType.StoreProcedure;
    cmd.Parameters.AddWithValue("@AccountType", AcctType);
    cmd.Parameters.AddWithValue("@AccountSubType", AcctSubType);
    cmd.Parameters.AddWithValue("@CheckingOption", CheckOption);

    conn.Open();
    cmd.ExecuteNonQuery();
}

Таким образом, в случае, если ваш код работает правильно, или вызывает исключение в блоке using, ваши SqlConnection и SqlCommand уберут за собой.

0 голосов
/ 24 февраля 2012

В таких ситуациях вы можете нажать CTRL +. (Ctrl + точка), чтобы получить предложение, как вы хотите добавить с помощью System.Data ...

P.S. Научите мужчин ловить рыбу ...

...