执行存储过程。 [英] executing a stored proc.

查看:70
本文介绍了执行存储过程。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我在网页上有一个表单,我希望使用存储过程将详细信息输入到数据库中。我不知道为什么它不起作用。



我的加价:

Hi all,

I have a form on a webpage that i want to use a stored procedure to input details into a database. Im not sure why it will not work.

My mark-up:

<p>Here you can edit your personal details.</p><br />
   <asp:Label ID="lblPersonalDetails" runat="server">
           </asp:Label><br /><br />
   <asp:TextBox ID="txtCompanyName" runat="server" CssClass="PersonalDetailForm" ></asp:TextBox> <asp:Label ID="lblCompanyName" runat="server" Text="Enter your company name"></asp:Label><br />
   <asp:TextBox ID="txtFirstName" runat="server" CssClass="PersonalDetailForm" ></asp:TextBox> <asp:Label ID="lblFirstName" runat="server" Text="Enter your first name"></asp:Label><br />
   <asp:TextBox ID="txtLastName" runat="server" CssClass="PersonalDetailForm" ></asp:TextBox> <asp:Label ID="lblLastName" runat="server" Text="Enter your last name"></asp:Label><br />
   <asp:Button ID="PersonalDetailsSubmit" runat="server" CssClass="PersonalDetailForm" Text="Submit" OnClick="PersonalDetailsSubmit_Click" />





我的代码支持:





My Code-behind:

public partial class restrictedAccess_PersonalDetails : System.Web.UI.Page
{
    
       private string connectionString =
        WebConfigurationManager.ConnectionStrings["BillyNicClothingCon"].ConnectionString;
   
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void PersonalDetailsSubmit_Click(object sender, EventArgs e)
    {
     
            
  
            MembershipUser user = Membership.GetUser();

            string bncUserID = user.ProviderUserKey.ToString();

           
        SqlConnection con = new SqlConnection(connectionString);

        SqlCommand cmd = new SqlCommand("EXECUTE CustomerDetails.bnc_insCustomer", con);

        cmd.CommandType = CommandType.StoredProcedure;

        // Add the paramaters
        cmd.Parameters.Add(new SqlParameter("@MemId", SqlDbType.UniqueIdentifier));
        cmd.Parameters.Add(new SqlParameter("@CompanyName", SqlDbType.VarChar, 100));
        cmd.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.VarChar, 50));
        cmd.Parameters.Add(new SqlParameter("@LastName", SqlDbType.VarChar, 50));
        
        // Add parameter values
        cmd.Parameters[0].Value = bncUserID;
        cmd.Parameters[1].Value = txtCompanyName.Text;
        cmd.Parameters[2].Value = txtFirstName.Text;
        cmd.Parameters[3].Value = txtLastName.Text;
         

        // Try to open the database and execute query

 try { 

       con.Open();
       int i = cmd.ExecuteNonQuery();
         lblPersonalDetails.Text = "Details entered successfully";
         txtCompanyName.Text = "";
         txtFirstName.Text = "";
         txtLastName.Text = "";

       
}
        catch {
            lblPersonalDetails.Text = "Error inserting details";
        }
        finally {
     con.Close();
        }
        }}



我的存储过程:




My stored procedure:

CREATE PROCEDURE [CustomerDetails].[bnc_insCustomer] 
	-- Add the parameters for the stored procedure here
	@MemId uniqueidentifier, 
	@CompanyName varchar(100), 
	@FirstName varchar(50),
	@LastName varchar(50)
	
AS
BEGIN
	INSERT INTO CustomerDetails.Customers (MembershipId, CompanyName, FirstName, LastName)
	VALUES (@MemId, @CompanyName, @FirstName, @LastName)
	
END


GO





正如我所说,我不确定会出现什么问题我将非常感谢任何人提出的任何建议。



As i said i am not sure what is going wrong and any advice anyone can offer will be greatly appreciated.

推荐答案

传递参数值如下................ br />
pass parameter values like this................
cmd.Parameters.Add(new SqlParameter("@MemId",bncUserID));
       cmd.Parameters.Add(new SqlParameter("@CompanyName", txtCompanyName.Text));
       cmd.Parameters.Add(new SqlParameter("@FirstName",txtFirstName.Text));
       cmd.Parameters.Add(new SqlParameter("@LastName", txtLastName.Text));


嗨Deue让它成为简单的ypur代码...... ...

Hi Deue Make it ypur code as much as simple .........
int flag = 0;
          try
          {
              Sqlconnector sc = new Sqlconnector();
              SqlCommand cmd;
              sc.connect();
              cmd = new SqlCommand("bnc_insCustomer", sc.con);
              cmd.CommandType = CommandType.StoredProcedure;
              cmd.Parameters.Add(new SqlParameter("@MemId",bncUserID));
              cmd.Parameters.Add(new SqlParameter("@CompanyName", txtCompanyName.Text));
              cmd.Parameters.Add(new SqlParameter("@FirstName",txtFirstName.Text));
              cmd.Parameters.Add(new SqlParameter("@LastName", txtLastName.Text));
              flag = int.Parse(cmd.ExecuteNonQuery().ToString());
              sc.disconnect();
          }
          catch
          {

          }
          return flag;


这篇关于执行存储过程。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆