asp .net中如何给用户发送密码asp.net修改密码联接?

ASP.NET中怎么修改用户密码?_百度知道
ASP.NET中怎么修改用户密码?
提问者采纳
写sql语句 在页面中传来一个用户对象,然后根据用户修改密码
string sql = &update 表名 set 密码=新密码 where 用户Id=传过来的Id&
提问者评价
其他类似问题
1人觉得有用
为您推荐:
其他1条回答
。。。控件绑定一下数据库这个问题。,也就是操作一下数据库。。太宽泛了。自己写。。。。你想用控件还是自己写。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您现在的位置: &
IIS中ASP.NET连接SQL Server出错的解决方法
IIS中ASP.NET连接SQL Server出错的解决方法
解决连接问题的另一种方法是在IIS中启用SQL Server验证,然后再连接字符串中使用用户ID与密码;或是当ASP.NET应 用程序以另一个Windows用户而非ASPNET运行时,使用ASP.NET impersonation方法。 为了使ASPNET帐户可以访问ASP.NET应用程序的数据库,需要完成以下步骤: 1)启动SQL Server Management Studio,指定SQL Server实例名,以Windows验证模式登录。 2)用grantlogin存储过程把Windows的用户添加到SQL Server数据库中。这个命理将赋予ASPNET帐户连 接SQL Server的权限。注意要用本机的主机名代替命令中的MachineName。 Exec sp_grantlogin 'MachineName\ASPNET' 3)在为ASPNET帐户赋予了链接SQL Server的权限后,还需要为其赋予访问ASP.NET应用程序的数据库的 权限。注意要用ASP.NET应用程序的数据库的名字代替DateBaseName: USE DateBaseName Exec sp_grantdbaccess 'MachineName\ASPNET' 4)最后,需要赋予ASPNET访问ASP.NET应用程序的数据库内部对象的权限,如执行存储过程,读取和 修改表等。最简单的方法是为ASPNET帐户分配一个ASP.NET应用程序的数据库的db_owner角色。如果前面的步骤 中已经连接到了ASP.NET应用程序的数据库,输入下面的命令: Exec sp_addrolemember 'db_owner','achineName\ASPNET' 现在你就可以从Web应用程序以Windows验证模式连接数据库了。
&&&主编推荐
&&&热门试卷
&&&最新视频
&&&热门阅读
&&&最新问答
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-数据库的连接和关闭  访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。
相关知识:
ASP.NET连接池配置
"Server=(local); Integrated Security=SSPI; Database=WuW Max Pool Size=75; Min Pool Size=5"
SSPI是Security Support Provider Interface(Microsoft安全支持提供器接口)的英文缩写。SSPI是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。应用程序协议设计者能够利用该接口获得不同的安全性服务而不必修改协议本身。
SSPI是传输层应用程序和网络安全服务提供器之间的Win32接口,其主要特性是使应用程序拥有了一个公用的API来使用不同的安全包,包括Windows NTLM验证、SSL/PCT公用密钥密码技术提供器以及Windows 2000中的Kerberos安全验证提供器。
应用程序开发者有权选择直接调用SSPI函数来集成Windows NT安全性,或者使用基于DCOM、经验证的RPC或者Winsock 2.0等更高级的应用程序接口。Microsoft开发了新的基于接口规格的安全包来支持SSPI。Microsoft建议所有的基于Win32的应用程序开发者在进行安全分布式应用程序的开发时使用SSPI的集成安全特性。
1.&& 何时创建连接池?
当第一个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符创来决定。每一个连接池都与一个不同的连接字符串相关。
当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。
2.&& 何时关闭连接池?
当连接池中的所有连接都已经关闭时关闭连接池。
3.&& 当连接池中的连接都已经用完,而有新的连接请求到来时会发生什么?
当连接池已经达到它的最大连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。当有连接释放给连接池时,连接池将新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。
4.&& 我应该如何允许连接池?
对于.NET应用程序而言,默认为允许连接池。(这意味着你可以不必为这件事情做任何的事情)当然,如果你可以在SQLConnection对象的连接字符串中加进Pooling=确保你的应用程序允许连接池的使用。
5.&& 我应该如何禁止连接池?ADO.NET默认为允许数据库连接池,如果你希望禁止连接池,可以使用如下的方式:1) 使用SQLConnection对象时,往连接字符串加入如下内容:Pooling=F2) 使用OLEDBConnection对象时,往连接字符串加入
概述: 数据库连接池允许应用程序重用已存在于池中的数据库连接,以避免反复的建立新的数据库连接。这种技术能有效提高应用程序的伸缩性,因为有限的数据库连接能够给大量的客户提供服务。这种技术同时也提高的系统性能,避免了大量建立新连接的开销。 开发一个具有伸缩性的、高性能应用程序应该最大限度的减少建立连接所花费的时间,保持数据库连接最大限度的有效,以存取数据。当一个数据库连接关闭时,它只是由连接池收回以待重用,并未真正释放。但是,如果连接池被释放,数据库连接将会被释放掉。 开发人员应当注意不要依赖垃圾回收机制去释放数据库连接,因为当参数超出作用域时,数据库连接并没有得到必要的关闭,这种数据库资源泄漏将导致建立新连接时抛出连接错误。 建立数据库连接池 当打开一个数据库连接时,一个数据库连接池也就创建了。数据库连接池的创建与数据库连接字符串精确的相关(包括空格、大小写)。所有的连接池是根据连接字符串来区分的。在创建一个新的数据库连接时,如果连接字符串不完全相同,将创建不同的连接池。 一旦数据库连接池被创建,它将一直存在直到该进程结束。维护一个非活动状态的连接池几乎不需要什么系统开销。 连接池中的数据库连接 连接池根据唯一的连接字符串被创建。在连接池被创建的同时,连接池将创建最小的数据库连接,当连接不够用时,连接池将逐个添加数据库连接直到达到 最大连接数,此后的连接请求将被加入请求队列里。当调用数据库连接对象的Close方法或Dispose方法时,数据库连接将被数据库连接池回收。 当数据库连接使用完成后,要调用Close方法或Dispose方法将它返回连接池。没有显式释放的数据库连接可能会没有返回连接池。 注意不要在类的Finalize方法中调用任何管理类如Connection,DataReader等的Finalize方法,必须将数据库连接的释放权交给连接池。 释放数据库连接 当数据库连接超时或服务已经完成时,连接池将会将其资源释放,这只能通过试图与数据库通讯来判断。如果发现数据库连接不可用,它将被标记为不可用资源。数据库连接池将定时扫描数据库连接,释放所有不可用资源。 如果发现现有的数据库连接不可用,那么可能是该连接被数据库连接池标记为不可用资源了,这时将抛出一个异常。尽管如此,你还是必须释放连接,将它返回连接池。 支持Transaction 数据库连接池内的数据库连接是按照Transaction Context划分的,每当连接池接到连接请求时,他将返回与请求者Transaction Context相匹配的数据库连接。因此,每个连接池都由数个Transaction Context相关的数据库连接和一个Transaction Context无关的数据库连接组成。当数据库连接被返回连接池时,它将被放回对应的Transaction Context组中。 用连接字符串关键字控制数据库连接池 OracleConnection对象的属性ConnectionString有一些能支持连接池控制的key-value字符串。下表是这些key-value字符串的详细说明。 名称 默认值 说明 Connection Lifetime 0 当数据库连接被返回到连接池中时,它的创建时间将与当前时间比较,如果超过了Connection Lifetime规定的时间,它将被释放掉。 为0时将被视为最大连接时间。
Connection Lifetime该值默认情况下是0,表示连接永远不会从池中被自动移走。如果指定一个不同的值,那么一旦连接被返回到池中,该值将 和连接的创建时间及当前时间进行比较。如果生存期超过了Connection Lifetime的值,那么连接将从池中被移走。
Connection Lifetime
当连接被返回到池时,将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁。这在聚集配置中很有用(用于强制执行运行中的服务器和刚置于联机状态的服务器之间的负载平衡)。
零 (0) 值将使池连接具有最大的连接超时。Enlist 'true' 当此值为true时,池中现存的所有数据库连接将被加入到它的创建线程的Transaction Context中。如果不存在这个Transaction Context则无任何变化。 Max Pool Size 100 连接池能建立的最大数据库连接数。 Min Pool Size 0 连接池要保持的最小数据库连接数。 Pooling 'true' 当设为true时,数据库连接将由相应的连接池管理。----------------------------------------------------------------------------------------------------------------------------------数据库连接池指预先建立多个数据库连接,当有需要的时候就分配一个数据库连接来使用,主要用于应用服务器。通过数据库连接池我们可以快速连接数据库。但其给我们带来的问题是如何让不同的数据库用户都可以通过这个连接池访问数据库,Oracle提供了如下解决办法:以代理认证的方式连接数据库,下面以在 ODP.NET(Oracle Data Provider For .NET) 平台上的实现为例:1、在数据库上执行授权语句。alter user poolingtest grant connect through poolingtest2、 用连接字符串 “Data Source=User Id=Password=Proxy User Id=Proxy Password=”联入数据库。其中 poolinguser 为代理的数据库用户,即用该数据库帐号创建数据库连接池。poolingtest 为其他的数据库对象,可以为应用程序的帐号。3、此时我们已经以poolingtest用户通过连接池联入的数据库,并仅拥有 poolingtest 用户所具备的数据库权限。注意事项:1、.NET 中需使用 ODP.NET2、JDBC、OCI也支持以代理认证的方式连接数据库。-------------------------------------------------数据库连接池补充------------------------------------------------------------数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被 使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超 过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素: 1) 最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费; 2) 最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。 3) 如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。
阅读(...) 评论() &页面导航:
→ 正文内容 ASP.NET 数据库的连接方法
ASP.NET 6种常用数据库的连接方法
有Access,SQL Server,Oracle,MySQL,IBM
DB2 ,SyBase 等6种数据库的连接方法,有需要的朋友请往下看
1.C#连接连接Access&
&&&程序代码:&&&&
代码如下:using&& System.D&& using&& System.Data.OleDb;&& &..&&&&& & string&& strConnection="Provider=Microsoft.Jet.OleDb.4.0;";&& & strConnection+=@"Data & Source=C:BegASPNETNorthwind.mdb";&& & OleDbConnection&& objConnection=new&& OleDbConnection(strConnection);&& & ..&& & objConnection.Open();&& & objConnection.Close();&& & & 解释:&& &  连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!&& &  strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源.&& &  "Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft&& Jet引擎,也就是Access中的数据引擎,asp.net就是靠这个和Access的数据库连接的.&& &  "Data&& Source=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"Data&& Source=MyDrive:MyPath\MyFile.MDB".&& & PS:&&  1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符.&&  2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:&& &   strConnection+="Data&& Source=";&& &   strConnection+=MapPath("Northwind.mdb");&&   这样就可以省得你写一大堆东西了!&& &  3.要注意连接字符串中的参数之间要用分号来分隔.&& &  "OleDbConnection&& objConnection=new&& OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道. &&& &  "objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成.&&&&&& 2.C#连接SQL&& Server&&
& 程序代码:&&&& &
代码如下:& & using&& System.D&& & using&& System.Data.SqlC&& & ..&& & string&& strConnection="user&& id=password=;";&& strConnection+="initial&& catalog=NServer=YourSQLS";&& strConnection+="Connect&& Timeout=30";&& & SqlConnection&& objConnection=new&& SqlConnection(strConnection);&& & ..&& & objConnection.Open();&& & objConnection.Close();&&
& & 解释:&& & 连接SQL&& Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数.&& & & 首先,连接SQL&& Server使用的命名空间不是"System.Data.OleDb",而是"System.Data.SqlClient". &&& & 其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):&& &  "user&& id=sa":连接数据库的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa".&&  "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".&& &  这里注意,你的SQL&& Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL&& Server设置为Windows登录,那么在这里就不需要使用"user&& id"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.&& &  "initial&& catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind". &  "Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data&& Source","Address","Addr".如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址. &  "Connect&& Timeout=30":连接超时时间为30秒.&& &  在这里,建立连接对象用的构造函数为:SqlConnection.&& &3.C#连接Oracle&&&
& 程序代码:&&&& &
代码如下:& & using&& System.Data.OracleC&& & using&& System.D&&
&&& & //在窗体上添加一个按钮,叫Button1,双击Button1,输入以下代码&& & private&& void&& Button1_Click(object&& sender,&& System.EventArgs&& e)&& & {&& & string & ConnectionString="Data&& Source=user=password=";//写连接串&&
& OracleConnection&& conn=new&& OracleConnection(ConnectionString);//创建一个新连接 & try&& & {&& & conn.Open();&& & OracleCommand&& cmd=conn.CreateCommand();&& & mandText="select&& *&& from&& MyTable";//在这儿写sql语句&& & OracleDataReader&& odr=cmd.ExecuteReader();//创建一个OracleDateReader对象&& while(odr.Read())//读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了&&&&&&&&&&&&&&&&&&&&&& & {&& Response.Write(odr.GetOracleString(1).ToString());//输出字段1,这个数是字段索引,具体怎么使用字段名还有待研究 & }&& & odr.Close();&& & }&& & catch(Exception&& ee)&& & { & Response.Write(ee.Message);&& //如果有错误,输出错误信息&& & }&& & finally&&
& {&& & conn.Close();&& //关闭连接&& & }&& & }&& & &&& & 4.C#连接MySQL&
&&& 程序代码:&&&& &
代码如下:& & using&& MySQLDriverCS;&&&& & //&& 建立数据库连接&& MySQLConnection&& DBC&& & DBConn&& =&& new&& MySQLConnection(new&& MySQLConnectionString("localhost","mysql","root","",3306).AsString);&& DBConn.Open();&&&& & //&& 执行查询语句&& & MySQLCommand&& DBC&&
& DBComm&& =&& new&& MySQLCommand("select&& Host,User&& from&& user",DBConn);&&&& & //&& 读取数据&& & MySQLDataReader&& DBReader&& =&& DBComm.ExecuteReaderEx();&&&& & //&& 显示数据&& & try&& & { & while&& (DBReader.Read())&& & {&& & Console.WriteLine("Host&& = & {0}&& and&& User&& =&& {1}",&& DBReader.GetString(0),DBReader.GetString(1));&&
& }&& & }&& & finally&& & {&& & DBReader.Close();&& DBConn.Close();&& & }&&&& & //关闭数据库连接&& & DBConn.Close();&& &&& & 5.C#连接IBM&& DB2&&
& 程序代码:&&&& &
代码如下:& & OleDbConnection1.Open();&& & //打开数据库连接&& OleDbDataAdapter1.Fill(dataSet1,"Address");&& & //将得来的数据填入dataSet&& DataGrid1.DataBind();&& & //绑定数据&& & OleDbConnection1.Close();&& //关闭连接&&&& & //增加数据库数据&& & 在Web&& Form上新增对应字段数量个数的TextBox,及一个button,为该按键增加Click响应事件代码如下:&& & mandText&& =&& "INSERTsintosADDRESS(NAME,&& EMAIL,&& AGE,&& ADDRESS)&& VALUES&& ('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"')"; & OleDbInsertCommand1.Connection.Open();&& & //打开连接&& OleDbInsertCommand1.ExecuteNonQuery();&& & //执行该SQL语句&& OleDbInsertCommand1.Connection.Close();&& & //关闭连接&&&& & 6.C#连接SyBase&& & 程序代码:&& (OleDb)&& &&&
代码如下:& Provider=Sybase.ASEOLEDBProvider.2;Initial&& Catalog=数据库名;User&& ID=用户名;Data&& Source=数据源;Extended&& Properties="";Server&& Name=ip地址;Network&& Protocol=WServer&& Port&& Address=5000;
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910}

我要回帖

更多关于 asp.net修改密码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信