问题描述
我添加了一个类coon.cs:代码如下:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;usingSystem.IO;///<summary>///conn的摘要说明///</summary>publicclassconn{//声明一个SqlConnection对象privateSqlConnectioncon;//声明一个SqlCommand对象privateSqlCommandcom;//声明一个SqlDataAdapter对象privateSqlDataAdaptersqldata;publicconn(){//获取Web.Config数据库连接字符串SqlConnectionSqlConn=newSqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString());//构造函数创建连接,并打开连接con=newSqlConnection(SqlConn.ToString());con.Open();//打开链接}//执行SQL语句:插入、修改publicboolExceSQL(stringstrSql){//执行INSERT、UPDATE、DEIETE、CREATETABLE、CREATEPROCEDURE以及不返回结果的存储过程//根据Sql语句和数据源连接创建SqlCommand对象com=newSqlCommand(strSql,con);try{//SqlCommand的ExecuteNonQuery方法,类型为int,执行不返回结果的SQL语句,//包括INSERT、UPDATE、DEIETE、CREATETABLE、CREATEPROCEDURE以及不返回结果的存储过程com.ExecuteNonQuery();returntrue;}catch{returnfalse;}finally{//关闭连接con.Close();}}publicSqlDataReaderExceRead(stringstrSql){//执行SELECT、TableDirect命令或有返回结果的存储过程if(con.State!=ConnectionState.Open){con.Open();}//根据Sql语句和数据源连接创建SqlCommand对象com=newSqlCommand(strSql,con);//类型为SqlDataReader,执行SELECT、TableDirect命令或有返回结果的存储过程SqlDataReaderread=com.ExecuteReader();returnread;}publicDataSetExceDS(stringstrSql){try{//根据Sql语句和数据源连接创建SqlCommand对象com=newSqlCommand(strSql,con);//不用参数的构造函数,创建SqlDataAdapter对象sqldata=newSqlDataAdapter();//从数据源中检索记录sqldata.SelectCommand=com;//创建DataSet对象DataSetds=newDataSet();//通过添加或更新DataSet中的行填充一个DataTable对象。//返回值是成功添加或更新的行的数量sqldata.Fill(ds);returnds;}finally{con.Close();}}}调用页面user_manager_album.aspx的html代码:运行提示:从索引0处开始,初始化字符串的格式不符合规范。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.ArgumentException:从索引0处开始,初始化字符串的格式不符合规范。源错误:行31:SqlConnectionSqlConn=newSqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString());行32://构造函数创建连接,并打开连接行33:con=newSqlConnection(SqlConn.ToString());行34:con.Open();//打开链接行35:}源文件:f:ASPmyromm1231myroom4App_Codeconn.cs行:33堆栈跟踪:[ArgumentException:从索引0处开始,初始化字符串的格式不符合规范。]System.Data.Common.DbConnectionOptions.GetKeyValuePair(StringconnectionString,Int32currentPosition,StringBuilderbuffer,BooleanuseOdbcRules,String&keyname,String&keyvalue)+1286System.Data.Common.DbConnectionOptions.ParseInternal(Hashtableparsetable,StringconnectionString,BooleanbuildChain,Hashtablesynonyms,BooleanfirstKey)+115System.Data.Common.DbConnectionOptions..ctor(StringconnectionString,Hashtablesynonyms,BooleanuseOdbcRules)+99System.Data.SqlClient.SqlConnectionString..ctor(StringconnectionString)+52System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(StringconnectionString,DbConnectionOptionsprevious)+25System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(StringconnectionString,DbConnectionPoolGroupOptionspoolOptions,DbConnectionOptions&userConnectionOptions)+141System.Data.SqlClient.SqlConnection.ConnectionString_Set(Stringvalue)+38System.Data.SqlClient.SqlConnection.set_ConnectionString(Stringvalue)+4System.Data.SqlClient.SqlConnection..ctor(StringconnectionString)+21conn..ctor()inf:ASPmyromm1231myroom4App_Codeconn.cs:33qinshi_user_manager_album.Page_Load(Objectsender,EventArgse)inf:ASPmyromm1231myroom4qinshiuser_manager_album.aspx.cs:24System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtrfp,Objecto,Objectt,EventArgse)+13System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Objectsender,EventArgse)+45System.Web.UI.Control.OnLoad(EventArgse)+80System.Web.UI.Control.LoadRecursive()+49System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+3745
解决方案
解决方案二:
检查一下ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString()里的连接串正确否
解决方案三:
顶一下,不是很清楚
解决方案四:
SqlConnectionSqlConn=newSqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString());//构造函数创建连接,并打开连接con=newSqlConnection(SqlConn.ToString());
解决方案五:
SqlConn.ToString()的值是System.Data.SqlClient.SqlConnection;为什么要实例化SqlConn,直接con=newSqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString());
不行么?
解决方案六:
行33:con=newSqlConnection(SqlConn.ToString());改为:行33:con=SqlConn;
解决方案七:
publicconn(){//获取Web.Config数据库连接字符串//构造函数创建连接,并打开连接con=newSqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString);con.Open();//打开链接}
这样就行了,不明白要绕那么多弯干什么?
解决方案八:
SqlConnectionSqlConn=newSqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString());//构造函数创建连接,并打开连接con=SqlConncon.open();这样应该可以
解决方案九:
哥们,你连接字符串["connroom"]确定没有写错?
解决方案十:
数据库连接错误
解决方案十一:
//获取Web.Config数据库连接字符串SqlConnectionSqlConn=newSqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString());有问题好像!!!(出现了两个ConnectionStrings??)
解决方案十二:
SqlConnectionSqlConn=newSqlConnection();//构造函数创建连接,并打开连接con=newSqlConnection(SqlConn.ToString());你可以按上面的同志们那样写,也可以定义字符串就可以了。StringconnString=ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString();conn=newSqlConnection(connString);
解决方案十三:
up
解决方案十四:
楼主绕弯儿了..
解决方案十五:
stringstrconn=ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;SqlConnectionsqlconn=newSqlConnection(strconn);以上可成功连接数据库!!!