从索引 0 处开始,初始化字符串的格式不符合规范。
我添加了一个类coon.cs:代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
/// <summary>
/// conn 的摘要说明
/// </summary>
public class conn
{
//声明一个SqlConnection对象
private SqlConnection con;
//声明一个SqlCommand对象
private SqlCommand com;
//声明一个SqlDataAdapter对象
private SqlDataAdapter sqldata;
public conn()
{
//获取Web.Config数据库连接字符串
SqlConnection SqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ());
//构造函数创建连接,并打开连接
con = new SqlConnection(SqlConn.ToString ());
con.Open(); //打开链接
}
//执行SQL语句:插入、修改
public bool ExceSQL(string strSql)
{
//执行INSERT、UPDATE、DEIETE、CREATE TABLE、CREATE PROCEDURE以及不返回结果的存储过程
//根据Sql语句和数据源连接创建SqlCommand对象
com = new SqlCommand(strSql, con);
try
{
//SqlCommand的ExecuteNonQuery方法,类型为int,执行不返回结果的SQL语句,
//包括INSERT、UPDATE、DEIETE、CREATE TABLE、CREATE PROCEDURE以及不返回结果的存储过程
com.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
//关闭连接
con.Close();
}
}
public SqlDataReader ExceRead(string strSql)
{
//执行SELECT、TableDirect命令或有返回结果的存储过程
if (con.State != ConnectionState.Open)
{
con.Open();
}
//根据Sql语句和数据源连接创建SqlCommand对象
com = new SqlCommand(strSql, con);
//类型为SqlDataReader,执行SELECT、TableDirect命令或有返回结果的存储过程
SqlDataReader read = com.ExecuteReader();
return read;
}
public DataSet ExceDS(string strSql)
{
try
{
//根据Sql语句和数据源连接创建SqlCommand对象
com = new SqlCommand(strSql, con);
//不用参数的构造函数,创建SqlDataAdapter对象
sqldata = new SqlDataAdapter();
//从数据源中检索记录
sqldata.SelectCommand = com;
//创建DataSet对象
DataSet ds = new DataSet();
//通过添加或更新DataSet中的行填充一个DataTable对象。
//返回值是成功添加或更新的行的数量
sqldata.Fill(ds);
return ds;
}
finally
{
con.Close();
}
}
}
调用页面user_manager_album.aspx 的html代码:
运行提示:从索引 0 处开始,初始化字符串的格式不符合规范。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 从索引 0 处开始,初始化字符串的格式不符合规范。
源错误:
行 31: SqlConnection SqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ());
行 32: //构造函数创建连接,并打开连接
行 33: con = new SqlConnection(SqlConn.ToString ());
行 34: con.Open(); //打开链接
行 35: }
源文件: f:\ASP\myromm1231\myroom4\App_Code\conn.cs 行: 33
堆栈跟踪:
[ArgumentException: 从索引 0 处开始,初始化字符串的格式不符合规范。]
System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue) +1286
System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) +115
System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) +99
System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) +52
System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) +25
System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) +141
System.Data.SqlClient.SqlConnection.ConnectionString_Set(String value) +38
System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) +4
System.Data.SqlClient.SqlConnection..ctor(String connectionString) +21
conn..ctor() in f:\ASP\myromm1231\myroom4\App_Code\conn.cs:33
qinshi_user_manager_album.Page_Load(Object sender, EventArgs e) in f:\ASP\myromm1231\myroom4\qinshi\user_manager_album.aspx.cs:24
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
System.Web.UI.Control.OnLoad(EventArgs e) +80
System.Web.UI.Control.LoadRecursive() +49
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3745
--------------------编程问答-------------------- 检查一下ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ()里的连接串正确否 --------------------编程问答-------------------- 顶一下,不是很清楚 --------------------编程问答--------------------
SqlConnection SqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ());--------------------编程问答-------------------- SqlConn.ToString()的值是System.Data.SqlClient.SqlConnection;为什么要实例化SqlConn,直接
//构造函数创建连接,并打开连接
con = new SqlConnection(SqlConn.ToString ());
con=new SqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ());
不行么? --------------------编程问答-------------------- 行 33: con = new SqlConnection(SqlConn.ToString ());
改为:
行 33: con = SqlConn; --------------------编程问答--------------------
public conn()
{
//获取Web.Config数据库连接字符串
//构造函数创建连接,并打开连接
con = new SqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString);
con.Open(); //打开链接
}
这样就行了,不明白要绕那么多弯干什么? --------------------编程问答-------------------- SqlConnection SqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ());
//构造函数创建连接,并打开连接
con = SqlConn
con.open();这样应该可以 --------------------编程问答-------------------- 哥们,你连接字符串["connroom"]确定没有写错? --------------------编程问答-------------------- 数据库连接错误 --------------------编程问答-------------------- //获取Web.Config数据库连接字符串
SqlConnection SqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ());
有问题好像!!!(出现了两个ConnectionStrings??)
--------------------编程问答-------------------- SqlConnection SqlConn = new SqlConnection();
//构造函数创建连接,并打开连接
con = new SqlConnection(SqlConn.ToString ());
你可以按上面的同志们那样写,也可以定义字符串就可以了。
String connString=ConfigurationManager.ConnectionStrings["connroom"].ConnectionString.ToString ();
conn=new SqlConnection(connString); --------------------编程问答-------------------- up --------------------编程问答-------------------- 楼主绕弯儿了.. --------------------编程问答-------------------- string strconn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(strconn);
以上可成功连接数据库!!!
补充:.NET技术 , ASP.NET