有人可以帮帮我吗?我糊涂了。
我想设置我的连接字符串,以便我可以从我的Web.Config文件中调用它。
我需要一种从我的代码中调用它的方法,请举个例子。 :(
我还需要有关设置Web.Config文件的帮助。
我不知道要使用什么属性。这是我的凭据的截图。我没有为Windows设置密码。我真的迷失在这里。
这是一个great overview on MSDN,涵盖了如何做到这一点。
在web.config中,添加一个连接字符串条目:
<connectionStrings>
<add
name="MyConnectionString"
connectionString="Data Source=sergio-desktop\sqlexpress;Initial
Catalog=MyDatabase;User ID=userName;Password=password"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
我们在这里分解组成部分:
数据源是您的服务器。在您的情况下,sergio-desktop
上的命名SQL实例。
初始目录是应该执行的默认数据库查询。对于正常用途,这将是数据库名称。
对于身份验证,我们有几个选项。
用户ID和密码意味着使用SQL凭据,而不是Windows,但仍然非常简单 - 只需进入SQL Server的“安全”部分并创建新的登录。为其提供用户名和密码,并授予其数据库权限。所有基本对话都是不言自明的。
您还可以使用集成安全性,这意味着您的.NET应用程序将尝试使用工作进程的凭据连接到SQL。检查here for more info。
最后,在代码中,您可以使用以下命令获取连接字符串:
ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString
http://www.connectionstrings.com是一个可以找到许多连接字符串的站点。您需要做的就是复制粘贴并根据您的需要进行修改。它确保拥有满足您所有需求的所有连接字符串。
将其添加到您的Web配置并更改您的数据库名称的目录名称:
<connectionStrings>
<add name="MyConnectionString" connectionString="Data Source=SERGIO-DESKTOP\SQLEXPRESS;Initial Catalog=YourDatabaseName;Integrated Security=True;"/></connectionStrings>
项目中的参考System.Configuration程序集。
以下是从配置文件中检索连接字符串的方法:
System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
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 form_city : System.Web.UI.Page
{
connection con = new connection();
DataTable dtable;
string status = "";
protected void Page_Load(object sender, EventArgs e)
{
TextBoxWatermarkExtender1.WatermarkText = "Enter State Name !";
if (!IsPostBack)
{
status = "Active";
fillgrid();
Session.Add("ope", "Listing");
}
}
protected void fillgrid()
{
//Session.Add("ope", "Listing");
string query = "select *";
query += "from State_Detail where Status='" + status + "'";
dtable = con.sqlSelect(query);
grdList.DataSource = dtable;
grdList.DataBind();
lbtnBack.Visible = false;
}
protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grdList.PageIndex = e.NewPageIndex;
string operation = Session["ope"].ToString();
if (operation == "ViewLog")
status = "Inactive";
else if (operation == "Listing")
status = "Active";
fillgrid();
}
public string GetImage(string status)
{
if (status == "Active")
return "~/images/green_acti.png";
else
return "~/images/red_acti.png";
}
protected void grdList_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string st = "Inactive";
int State_Id = Convert.ToInt32(grdList.DataKeys[e.RowIndex].Values[0]);
string query = "update State_Detail set Status='" + st + "'";
query += " where State_Id=" + State_Id;
con.sqlInsUpdDel(query);
status = "Active";
fillgrid();
}
protected void grdList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("Select"))
{
string query = "select * ";
query += "from State_Detail where State_Id=" + e.CommandArgument;
dtable = con.sqlSelect(query);
grdList.DataSource = dtable;
grdList.DataBind();
lbtnBack.Visible = true;
}
}
protected void ibtnSearch_Click(object sender, ImageClickEventArgs e)
{
Session.Add("ope", "Listing");
if (txtDepId.Text != "")
{
string query = "select * from State_Detail where State_Name like '" + txtDepId.Text + "%'";
dtable = con.sqlSelect(query);
grdList.DataSource = dtable;
grdList.DataBind();
txtDepId.Text = "";
}
}
protected void grdList_RowEditing(object sender, GridViewEditEventArgs e)
{
int State_Id = Convert.ToInt32(grdList.DataKeys[e.NewEditIndex].Values[0]);
Session.Add("ope", "Edit");
Session.Add("State_Id", State_Id);
Response.Redirect("form_state.aspx");
}
protected void grdList_Sorting(object sender, GridViewSortEventArgs e)
{
string operation = Session["ope"].ToString();
if (operation == "ViewLog")
status = "Inactive";
else if (operation == "Listing")
status = "Active";
string query = "select * from State_Detail";
query += " where Status='" + status + "'";
dtable = con.sqlSelect(query);
DataView dview = new DataView(dtable);
dview.Sort = e.SortExpression + " asc";
grdList.DataSource = dview;
grdList.DataBind();
}
}
<asp:Image ID="imgGreenAct" ImageUrl='<%# GetImage(Convert.ToString(DataBinder.Eval(Container.DataItem, "Status")))%>' AlternateText='<%# Bind("Status") %>' runat="server" />
你最好的选择,就像你一样新鲜,就是去抓企业库。他们有一个配置工具,您可以用它来很好地连接所有东西。
他们还有一个数据访问应用程序块,非常有用,文档中填充了很好的样本。
如果您使用的是SQL Express(您是),则您的登录凭据为。\ SQLEXPRESS
这是web配置文件中的connectionString,您可以添加:
<connectionStrings>
<add connectionString="Server=localhost\SQLEXPRESS;Database=yourDBName;Initial Catalog= yourDBName;Integrated Security=true" name="nametoCallBy" providerName="System.Data.SqlClient"/>
</connectionStrings>
位于system.web标记的正上方。
然后你可以通过以下方式调用:
connString = ConfigurationManager.ConnectionStrings["nametoCallBy"].ConnectionString;
如果在Visual Studio中使用“连接到数据库”工具,则可以添加服务器和数据库的名称并测试连接。成功后,您可以从对话框的底部复制字符串。
Web.config文件
<connectionStrings>
<add name="MyConnectionString" connectionString="Data Source=SERGIO-DESKTOP\SQLEXPRESS; Initial Catalog=YourDatabaseName;Integrated Security=True;"/>
</connectionStrings>
.cs文件
System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;