如何使用SQL数据库而不是Aspx的Access mdb

时间:2015-02-19 14:04:21

标签: asp.net

我有以下c#代码从Access数据库加载高分,如何调整此代码以使用外部sql数据库(System.Data.SqlClient)。我可以将connectionString输入到一个简单的config.aspx文件,而不是开始使用新的web.config文件吗?

<%@ Page Language="C#" %>
<!--#include file=config.aspx"-->
<asp:AccessDataSource id="database" Runat="Server" />
<script runat="server">

void Page_Load( object sender, EventArgs e ){
    String id = Request.QueryString["id"];
    String query;
    System.Data.DataView dataView;

    if(scoreRange == "pastDay") {
        query = "SELECT TOP " + noOfScores + " [name], [score] FROM [" + databaseTableName + "] WHERE [gameID] = " + id + " AND [date] >= DateAdd( \"d\", -1, Now() ) ORDER BY [score] DESC, [date] DESC";
    }  else {
        query = "SELECT TOP " + noOfScores + " [name], [score] FROM [" + databaseTableName + "] WHERE [gameID] = " + id + " ORDER BY [score] DESC, [date] DESC";
    }

    database.DataFile = databaseFile;
    database.SelectCommand = query;

    dataView = (System.Data.DataView) database.Select(DataSourceSelectArguments.Empty);

    Response.Write("<HIGHSCORES scoreRange=\"" + scoreRange + "\">");

    for(int i=0;i<dataView.Table.Rows.Count;i++) {
        Response.Write("<RECORD name=\"" + HttpUtility.HtmlEncode(dataView.Table.Rows[i][0].ToString()) + "\" score=\"" + dataView.Table.Rows[i][1] + "\" />");
    }

    Response.Write("</HIGHSCORES>");
}

</script>

1 个答案:

答案 0 :(得分:2)

我假设您要在aspx文件中指定连接字符串。如果是这样,那么你需要类似的东西:

<asp:SqlDataSource
    id="SqlDataSource1"
    runat="server"
    ProviderName="<%$ Your provider here%>"
    ConnectionString="<%$ You connection string here%>"
    SelectCommand="You select statement here">
</asp:SqlDataSource>

进一步阅读 here

相关问题