执行存储过程。 [英] executing a stored proc.
本文介绍了执行存储过程。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我在网页上有一个表单,我希望使用存储过程将详细信息输入到数据库中。我不知道为什么它不起作用。
我的加价:
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屋!
查看全文