使用存储过程和ADO.NET更新DB

时间:2012-02-24 15:56:41

标签: c# stored-procedures ado.net sqlcommand

我想我错过了一个' USING"我的类中的语句,因为当我尝试将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 个答案:

答案 0 :(得分:2)

using System.Data;

您需要引用System.Data。请参阅MSDN Reference for the CommandType Enumeration。直接引用:

  

命名空间:System.Data
  程序集:System.Data(System.Data.dll中的

答案 1 :(得分:1)

我还建议您为usingSqlConnection个对象添加其他 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();
}

这样,如果您的代码正常运行会在使用块中引发异常,那么您的SqlConnectionSqlCommand将会自行清理。

答案 2 :(得分:0)

在这种情况下,您可以按CTRL +。 (ctrl + dot)获得一个像是否要使用System.Data ...

添加的建议

P.S。教人钓鱼......