0

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

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

存储过程是:

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";
    }
}

任何人都可以帮助我吗?

4

2 回答 2

0
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),您可以随意操作它!

您可以通过将数据库添加为项目的数据源并在数据源属性中找到它来找到连接字符串(可能还有其他方法可以做到这一点)。

于 2013-07-18T10:43:50.270 回答
0
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 的数据源或要显示的内容

于 2013-07-18T10:46:12.707 回答