如何在返回表的asp文件中调用SQL Server存储过程

本文关键字:调用 SQL Server 存储过程 文件 asp 返回 | 更新日期: 2023-09-27 18:23:41

我是ASP.NET的新手。首先,我在SQL Server 2008中创建了一个数据库,并在其中创建了存储过程Getdata。我想从ASP.NET页面调用此存储过程。

在ASP.NET中,我有一个包含主页、about等其他页面的主页。我想在用户单击Home时运行Getdata存储过程。

存储过程为:

Create procedure Getdata
as 
begin
   select * from Log_Users
end

我的主页代码是

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPage.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <h2>This is a the HOME page.</h2>
</asp:Content>

其aspx.cs文件代码为:

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Master.PageName = "Home";
    }
}

有人能帮我吗?

如何在返回表的asp文件中调用SQL Server存储过程

var query = "YourStoredProcName";
var conStr = ConfigurationManager.ConnectionStrings["StringName"].ConnectionString;
var con = new SqlConnection(conStr);
var cmd = new SqlCommand(query, con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@parameterName", parameterValue); //If any
//Open connection - load result into datatable
con.Open();
var reader = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(reader);
con.Close();

conStr可以是该格式(使用web.config存储的连接字符串),也可以是原始字符串。不过我还是推荐这种方式。运行后,您将获得一个数据表(dt),其中包含存储过程的结果,您可以随意操作它!

您可以通过添加数据库作为项目的数据源,然后在数据源属性中查找连接字符串(可能还有其他方法)。

DataTable dt = new DataTable();
using (var myConnection = new SqlConnection(connectionstring))
{
    using (var myCommand = new SqlCommand("Getdata", myConnection))
    {
        myCommand.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(myCommand);
        mySqlDataAdapter.Fill(dt);
    }
}

您可能需要将此DataTable设置为Gridview的数据源或其他内容来显示