连接数据库文件
<add name="LocalSqlServer" connectionString="Data Source=.\SQLExpressIntegrated Security=TrueAttachDBFilename=|DataDirectory|TimeTracker.mdfUser Instance=true" />SqlConnectionStringBuilder实例化时,要用到connectionString,如:
SqlConnectionStringBuild builder = new SqlConnectionStringBuild(connectionString)一、Data Source
SqlConnectionStringBuilder的DataSource属性,对应connectionString中的Data Source,“Data Source”可以由下列字符串代替:“server”,“address”,“addr”和“network address”。
Data Source=.\SQLExpress也可以写成这样Data Source=(local)\SQLExpress。
二、Integrated Security
SqlConnectionStringBuilder的IntegratedSecurity属性,对应connectionString中的Integrated Security,“Integrated Security”可以写成“trusted_connection”,为true时,使用当前的 Windows 帐户凭据进行身份验证,为false时,需要在连接中指定用户 ID 和密码。
三、AttachDBFilename
SqlConnectionStringBuilder的AttachDBFilename属性,对应connectionString中的AttachDBFilename,“AttachDBFilename”可以写成“extended properties”,“initial file name”。AttachDbFileName属性指定连接打开的时候动态附加到服务器上的数据库文件的位置。这个属性可以接受数据库的完整路径和相对路径(例如使用|DataDirectory|语法),在运行时这个路径会被应用程序的App_Data目录所代替。
四、User Instance
SqlConnectionStringBuilder的UserInstance属性,对应connectionString中的User Instance ,该值指示是否将连接从默认的 SQL Server Express 实例重定向到在调用方帐户之下运行并且在运行时启动的实例。UserInstance=true,在这种情况下,SQLServerExpress为了把数据库附加到新的实例,建立一个新的进程,在打开连接的用户身份下运行。在ASP.NET应用程序中,这个用户是本地的ASPNET帐号或默认的NetworkService,这依赖于 *** 作系统。为了安全地附加非系统管理员帐号(例如ASP.NET帐号)提供的数据库文件,建立一个独立的SQLServer用户实例是必要的。
示例:
多数都是在CONFIG文件里写入连接字符串
<appSettings><!--连接数据库服务器-->
<add key="CRMonnection" value="Data Source=SufeiInitial Catalog=CRMIntegrated Security=falseuid=nouterPassword=123456"></add>
<add key="ForumName" value="luohe"/>
<!--连接数据库文件-->
<add key ="CRMConnectionString" value ="Data Source=.\SQLEXPRESSAttachDbFilename=|DataDirectory|CRM.mdfIntegrated Security=TrueConnect Timeout=30User Instance=True"/>
</appSettings>
然后,在程序里再读取连接字符串到变量
System.Configuration.ConfigurationSettings.AppSettings["CRMConnectionString"] 读写XML的方式修改存储web.config但是,如果想动态修改connectionstring,建议别放在web.config中,自己建立一个XML文件进行读写
附上一个实例:
已知有一个XML文件(bookstore.xml)如下:
<?xml
version="1.0"
encoding="gb2312"?>
<bookstore>
<book
genre="fantasy"
ISBN="2-3631-4">
<title>Oberon's
Legacy</title>
<author>Corets,
Eva</author>
<price>5.95</price>
</book>
</bookstore>
1、往<bookstore>节点中插入一个<book>节点:
XmlDocument
xmlDoc=new
XmlDocument()
xmlDoc.Load("bookstore.xml")
XmlNode
root=xmlDoc.SelectSingleNode("bookstore")//查找<bookstore>
XmlElement
xe1=xmlDoc.CreateElement("book")//创建一个<book>节点
xe1.SetAttribute("genre","李赞红")//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4")//设置该节点ISBN属性
XmlElement
xesub1=xmlDoc.CreateElement("title")
xesub1.InnerText="CS从入门到精通"//设置文本节点
xe1.AppendChild(xesub1)//添加到<book>节点中
XmlElement
xesub2=xmlDoc.CreateElement("author")
xesub2.InnerText="候捷"
xe1.AppendChild(xesub2)
XmlElement
xesub3=xmlDoc.CreateElement("price")
xesub3.InnerText="58.3"
xe1.AppendChild(xesub3)
root.AppendChild(xe1)//添加到<bookstore>节点中
xmlDoc.Save("bookstore.xml")
//===============================================
结果为:
<?xml
version="1.0"
encoding="gb2312"?>
<bookstore>
<book
genre="fantasy"
ISBN="2-3631-4">
<title>Oberon's
Legacy</title>
<author>Corets,
Eva</author>
<price>5.95</price>
</book>
<book
genre="李赞红"
ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>候捷</author>
<price>58.3</price>
</book>
</bookstore>
2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点<author>的文本修改为“亚胜”。
XmlNodeList
nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes//获取bookstore节点的所有子节点
foreach(XmlNode
xn
in
nodeList)//遍历所有子节点
{
XmlElement
xe=(XmlElement)xn//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”
{
xe.SetAttribute("genre","update李赞红")//则修改该属性为“update李赞红”
XmlNodeList
nls=xe.ChildNodes//继续获取xe子节点的所有子节点
foreach(XmlNode
xn1
in
nls)//遍历
{
XmlElement
xe2=(XmlElement)xn1//转换类型
if(xe2.Name=="author")//如果找到
{
xe2.InnerText="亚胜"//则修改
break//找到退出来就可以了
}
}
break
}
}
xmlDoc.Save("bookstore.xml")//保存。
//==================================================
最后结果为:
<?xml
version="1.0"
encoding="gb2312"?>
<bookstore>
<book
genre="fantasy"
ISBN="2-3631-4">
<title>Oberon's
Legacy</title>
<author>Corets,
Eva</author>
<price>5.95</price>
</book>
<book
genre="update李赞红"
ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>亚胜</author>
<price>58.3</price>
</book>
</bookstore>
3、删除
<book
genre="fantasy"
ISBN="2-3631-4">节点的genre属性,删除
<book
genre="update李赞红"
ISBN="2-3631-4">节点。
XmlNodeList
xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes
foreach(XmlNode
xn
in
xnl)
{
XmlElement
xe=(XmlElement)xn
if(xe.GetAttribute("genre")=="fantasy")
{
xe.RemoveAttribute("genre")//删除genre属性
}
else
if(xe.GetAttribute("genre")=="update李赞红")
{
xe.RemoveAll()//删除该节点的全部内容
}
}
xmlDoc.Save("bookstore.xml")
//===========================================
最后结果为:
<?xml
version="1.0"
encoding="gb2312"?>
<bookstore>
<book
ISBN="2-3631-4">
<title>Oberon's
Legacy</title>
<author>Corets,
Eva</author>
<price>5.95</price>
</book>
<book>
</book>
</bookstore>
4、显示所有数据。
XmlNode
xn=xmlDoc.SelectSingleNode("bookstore")
XmlNodeList
xnl=xn.ChildNodes
foreach(XmlNode
xnf
in
xnl)
{
XmlElement
xe=(XmlElement)xnf
Console.WriteLine(xe.GetAttribute("genre"))//显示属性值
Console.WriteLine(xe.GetAttribute("ISBN"))
XmlNodeList
xnf1=xe.ChildNodes
foreach(XmlNode
xn2
in
xnf1)
{
Console.WriteLine(xn2.InnerText)//显示子节点点文本
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)