繁体   English   中英

将数据从表中获取到ASP.NET Web应用程序

[英]Getting data from a table to ASP.NET web application

我正在使用Visual Studio 2010来构建ASP.NET Web应用程序,我正在从数据库中的信息动态填充(部分)站点地图。 现在我在App_Data文件夹中只有一个名为DrugTest.mdf的虚拟表。 该表名为DrugTest1,只有一个字段DrugName。 我撞墙的地方实际上是从那张表中获取数据。 我困惑的一部分是连接字符串。 我已经查看了很多关于连接字符串的不同信息,最值得注意的是http://www.connectionstrings.com/但我对如何将所述信息实际应用于该项目感到困惑。

编辑:我正在使用SQL Server 2008 RC。

例如: Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

密码和用户ID非常明显,但据我所知,我没有得到其中任何一个,我只是在App_Data文件夹中添加了一个表并用虚拟数据填充它。 ServerAddress有点令人困惑,因为这些信息并不真正存储在服务器上,它只是存储在本地。 我老实说不确定初始目录是什么意思。 这是填充子树的代码。 您会注意到连接字符串留空。

string connString = ""; // get the connection string
string commandString = "SELECT drugName FROM DrugTable1";

SqlConnection connection = new SqlConnection(connString); // connect to db
SqlCommand command = new SqlCommand(commandString, connection); // set up the command
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet drugs = new DataSet();
adapter.Fill(drugs);

foreach (DataRow row in drugs.Tables[0].Rows)
{
    string drugName = row["Name"] + "";
    SiteMapNode node = new SiteMapNode(this, drugName,
                        "~/PlaceHolderUrl?path=" + drugName,
                        drugName);
    AddNode(node, root);
}

此外,我有一种唠叨的怀疑,我不会以正确的方式解决这个问题。 我认为一旦数据库启动并运行,这将是正确的实现,但是现在我只是想让它工作,所以它已经准备就绪 - 只需要使用正确的连接字符串和表/字段名称。

所以,最后,我的问题:如何连接到本地表? 我的连接字符串应该是什么格式? 我注意到它们中有很多。 有没有更好的方法来做到这一点/我做错了吗?

尝试使用AttachDbFilename=|DataDirectory|DrugTest.mdf替换连接字符串的初始目录部分。

此外,如果您使用的是SQL Server Express,则可能需要在数据源中包含该实例,因此可能会尝试使用Data Source=mySeverAddress\\SQLExpress ,其中SQLExpress是实例名称。

顺便说一句,在http://www.connectionstrings.com网站上,如果向下滚动一下标题为“附加位于数据目录中的数据库文件”部分,则可以在SQL Server 2008页面中找到此信息到本地SQL Server Express实例。“

获取正确连接字符串的另一种方法是在ServerExplorer窗口中检查它

  • 在菜单上单击View-> Server Explorer
  • 在Server Explorer窗口中找到DrugTest.mdf
  • 右键单击该文件并选择“属性”

在此输入图像描述

  • 您可以在属性中看到正确的连接字符串
  • 复制连接字符串并使用

注意:文件位置是硬编码的。 您可能需要使用|DataDirectory| 后来

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM