呼叫提交按钮时,SQL Server存储过程被点击asp.net [英] Call a sql server stored procedure when submit button is clicked In asp.net

查看:89
本文介绍了呼叫提交按钮时,SQL Server存储过程被点击asp.net的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下code和现在我想调用SQL的存储过程,点击后提交按钮。

谁能帮我,我应该把code当点击提交按钮调用一个SP?

Default.aspx的

 <%@页面语言=C#AutoEventWireup =真codeFILE =Default.aspx.cs继承=_默认%GT;!< D​​OCTYPE HTML PUBLIC -  // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">< HTML的xmlns =htt​​p://www.w3.org/1999/xhtml>
<头ID =头像1=服务器>
<标题>登录表单< /标题>
< /头>
<身体GT;
<表ID =form1的=服务器>
< D​​IV>
<表ALIGN =中心><强>登录表单< / STRONG>&所述; TR>
&所述; TD>
用户名:
< / TD>
&所述; TD>
< ASP:文本框ID =txtUserName=服务器/>
< ASP:的RequiredFieldValidator ID =rfvUser的ErrorMessage =请输入用户名的ControlToValidate =txtUserName=服务器/>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
密码:
< / TD>
&所述; TD>
< ASP:文本框ID =txtPWD=服务器的TextMode =密码/>
< ASP:的RequiredFieldValidator ID =rfvPWD=服务器的ControlToValidate =txtPWD的ErrorMessage =请输入密码/>
< / TD>
< / TR>
&所述; TR>
&所述; TD>
< / TD>
&所述; TD>
< ASP:按钮的ID =btnSubmit按钮=服务器文本=提交的onclick =btnSubmit_Click/>
< / TD>
< / TR>
< /表>
< / DIV>
< /表及GT;
< /身体GT;
< / HTML>

Default.aspx.cs

 使用系统;
使用System.Data这;
使用System.Data.SqlClient的;
使用System.Configuration;
使用System.Linq的;
使用的System.Web;
使用System.Web.Security;
使用System.Web.UI程序;
使用System.Web.UI.HtmlControls;
使用System.Web.UI.WebControls;
使用System.Web.UI.WebControls.WebParts;
使用System.Xml.Linq的;
使用System.Data这;
公共部分类_Default:System.Web.UI.Page
{
    保护无效的Page_Load(对象发件人,EventArgs的发送)
    {    }
    保护无效btnSubmit_Click(对象发件人,EventArgs的发送)
    {
        SqlConnection的CON =新的SqlConnection(ConfigurationManager.ConnectionStrings [DBConnection的]的ConnectionString);
        con.Open();
        CMD的SqlCommand =新的SqlCommand(从Log_Users选择*其中UserName = @用户名和密码= @密码,CON);
        cmd.Parameters.AddWithValue(@用户名,txtUserName.Text);
        cmd.Parameters.AddWithValue(@密码,txtPWD.Text);
        SqlDataAdapter的大=新SqlDataAdapter的(CMD);
        DataTable的DT =新的DataTable();
        da.Fill(DT);
        如果(dt.Rows.Count大于0)
        {
            的Response.Redirect(Details.aspx);
        }
        其他
        {
            ClientScript.RegisterStartupScript(Page.GetType(),验证,< SCRIPT LANGUAGE =JavaScript的'>警报('用户名或密码无效)LT; / SCRIPT>中);
        }
    }
}

Details.aspx

 <%@页面语言=C#AutoEventWireup =真codeFILE =Details.aspx.cs继承=详细信息%GT;!< D​​OCTYPE HTML PUBLIC -  // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">< HTML的xmlns =htt​​p://www.w3.org/1999/xhtml>
<头ID =头像1=服务器>
    <标题>无标题页< /标题>
< /头>
<身体GT;
    <表ID =form1的=服务器>
    < D​​IV>
    <表ALIGN =中心>
        &所述; TR>
    &所述; TD>
      < ASP:标签ID =lblDisplay=服务器文本=欢迎来到我们的示例站点FONT-粗体=真>< / ASP:标签>
    < / TD>
    < / TR>
    < /表>    < / DIV>
    < /表及GT;
< /身体GT;
< / HTML>

Details.aspx.cs

 使用系统;
System.Collections中使用;
使用System.Configuration;
使用System.Data这;
使用System.Linq的;
使用的System.Web;
使用System.Web.Security;
使用System.Web.UI程序;
使用System.Web.UI.HtmlControls;
使用System.Web.UI.WebControls;
使用System.Web.UI.WebControls.WebParts;
使用System.Xml.Linq的;公共部分类详细信息:System.Web.UI.Page
{
    保护无效的Page_Load(对象发件人,EventArgs的发送)
    {    }
}


解决方案

编写存储过程与你的SELECT语句:

  SELECT * FROM Log_Users其中UserName = @用户名和密码= @密码

和改变你的ADO.net code消耗此存储过程作为,

  CMD的SqlCommand =新的SqlCommand(你的SP名,CON); cmd.CommandTpe = CommandType.StoredProcedure;

I have following code and now I want to call a stored procedure of SQL, when submit button is clicked.

Can anyone help me where I should place the code that calls a SP when submit button is clicked?

Default.aspx

  <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Login Form</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table align="center">

<strong>Login Form</strong>

<tr>
<td>
Username:
</td>
<td>
<asp:TextBox ID="txtUserName" runat="server"/>
<asp:RequiredFieldValidator ID="rfvUser" ErrorMessage="Please enter Username" ControlToValidate="txtUserName" runat="server" />
</td>
</tr>
<tr>
<td>
Password:
</td>
<td>
<asp:TextBox ID="txtPWD" runat="server" TextMode="Password"/>
<asp:RequiredFieldValidator ID="rfvPWD" runat="server" ControlToValidate="txtPWD" ErrorMessage="Please enter Password"/>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>

Default.aspx.cs

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("select * from Log_Users where UserName =@username and Password=@password", con);
        cmd.Parameters.AddWithValue("@username", txtUserName.Text);
        cmd.Parameters.AddWithValue("@password", txtPWD.Text);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            Response.Redirect("Details.aspx");
        }
        else
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username Or Password')</script>");
        }
    }
}

Details.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Details.aspx.cs" Inherits="Details" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table align="center">
        <tr>
    <td>
      <asp:Label ID="lblDisplay" runat="server" Text="Welcome to our sample Site" Font-Bold="true"></asp:Label>
    </td>
    </tr>
    </table>

    </div>
    </form>
</body>
</html>

Details.aspx.cs

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class Details : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

解决方案

Write a stored procedure with your select statement:

select * from Log_Users where UserName =@username and Password=@password

and alter your ADO.net code to consume this Stored procedure as,

 SqlCommand cmd = new SqlCommand("your sp name", con);

 cmd.CommandTpe = CommandType.StoredProcedure;

这篇关于呼叫提交按钮时,SQL Server存储过程被点击asp.net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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