从索引0处开始,初始化字符串的格式不符合规范

时间:2021-07-26 03:00:09
在Webconfig中连接了Access数据库
  <connectionStrings>
    <add name="mystr" connectionString="/App_Data/bbs.mdb"/>
  </connectionStrings>


 public class Helper
    {
         private SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["mystr"].ToString());(错误:从索引0处开始,初始化字符串的格式不符合规范)

        public int NonQuery(string cmdText)
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(cmdText, con);
            int t = cmd.ExecuteNonQuery();
            return t;
        }
        public object Scalar(string cmdText)
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(cmdText, con);
            object o = cmd.ExecuteScalar();
            return o;
        }

        public SqlDataReader Reader(string cmdText)
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(cmdText, con);
            SqlDataReader dr = cmd.ExecuteReader();
            return dr;
        }

        public void Close()
        {
            con.Dispose();
            con.Close();
        }

    }
然后运行的时候出现红色的错误!请问我是连错数据库还是什么的!在线等,急~

11 个解决方案

#1


System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString

试试

#2


引用 1 楼 net_lover 的回复:
System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString

试试


这样?private SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString);

#3


引用 1 楼 net_lover 的回复:
System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString

试试


还是这个问题啊~为什么一连接数据库就跳出来这个呢。

#4


可能你的配置文件位置不对吧

#5


配置文件要写成类似:
  <connectionStrings>
  <add name="mystr" connectionString="provider=microsoft.jet.oledb.4.0;data source=c:\web\App_Data\bbs.mdb"/>
  </connectionStrings>

代码要用OledbConnection
SqlConnection 是访问sqlserver数据库的

#6


对,是这样的。OledbConnection

#7


你使用了Access数据库
应该
using System.Data.OleDb;
下面应该将SqlConnection改为OleDbConnection
 private OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["mystr"].ToString());(错误:从索引0处开始,初始化字符串的格式不符合规范)

其他不用改

另外数据读取如DataAdapter都应该使用OleDb命名空间的
如:
OleDbCommand    OleDbDataAdapter  等...

#8


引用 7 楼 yalan 的回复:
你使用了Access数据库
应该
using System.Data.OleDb;
下面应该将SqlConnection改为OleDbConnection
 private OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["mystr"].ToString());(错误:从索……


  +1

#9


引用 5 楼 juliohuang 的回复:
配置文件要写成类似:
  <connectionStrings>
  <add name="mystr" connectionString="provider=microsoft.jet.oledb.4.0;data source=c:\web\App_Data\bbs.mdb"/>
  </connectionStrings>

代码要用OledbConnection
SqlCon……


那个配置文件的路径该怎么写~我改成<add name="mystr" connectionString="provider=microsoft.jet.oledb.4.0;data source=~/App_Data/bbs.mdb"/>
,然后又报错了('c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\~\App_Data\bbs.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。)

#10


引用 7 楼 yalan 的回复:
你使用了Access数据库
应该
using System.Data.OleDb;
下面应该将SqlConnection改为OleDbConnection
 private OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["mystr"].ToString());(错误:从索……


恩~谢谢。我改正了,就是现在又出现“('c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\~\App_Data\bbs.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。)”我是新手,请大家见谅下。

#11


同意5楼
另外data source在程序中最好处理成Server.Mappath("/App_Data/bbs.mdb")

#1


System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString

试试

#2


引用 1 楼 net_lover 的回复:
System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString

试试


这样?private SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString);

#3


引用 1 楼 net_lover 的回复:
System.Configuration.ConfigurationManager.ConnectionStrings["mystr"].ConnectionString

试试


还是这个问题啊~为什么一连接数据库就跳出来这个呢。

#4


可能你的配置文件位置不对吧

#5


配置文件要写成类似:
  <connectionStrings>
  <add name="mystr" connectionString="provider=microsoft.jet.oledb.4.0;data source=c:\web\App_Data\bbs.mdb"/>
  </connectionStrings>

代码要用OledbConnection
SqlConnection 是访问sqlserver数据库的

#6


对,是这样的。OledbConnection

#7


你使用了Access数据库
应该
using System.Data.OleDb;
下面应该将SqlConnection改为OleDbConnection
 private OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["mystr"].ToString());(错误:从索引0处开始,初始化字符串的格式不符合规范)

其他不用改

另外数据读取如DataAdapter都应该使用OleDb命名空间的
如:
OleDbCommand    OleDbDataAdapter  等...

#8


引用 7 楼 yalan 的回复:
你使用了Access数据库
应该
using System.Data.OleDb;
下面应该将SqlConnection改为OleDbConnection
 private OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["mystr"].ToString());(错误:从索……


  +1

#9


引用 5 楼 juliohuang 的回复:
配置文件要写成类似:
  <connectionStrings>
  <add name="mystr" connectionString="provider=microsoft.jet.oledb.4.0;data source=c:\web\App_Data\bbs.mdb"/>
  </connectionStrings>

代码要用OledbConnection
SqlCon……


那个配置文件的路径该怎么写~我改成<add name="mystr" connectionString="provider=microsoft.jet.oledb.4.0;data source=~/App_Data/bbs.mdb"/>
,然后又报错了('c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\~\App_Data\bbs.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。)

#10


引用 7 楼 yalan 的回复:
你使用了Access数据库
应该
using System.Data.OleDb;
下面应该将SqlConnection改为OleDbConnection
 private OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["mystr"].ToString());(错误:从索……


恩~谢谢。我改正了,就是现在又出现“('c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\~\App_Data\bbs.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。)”我是新手,请大家见谅下。

#11


同意5楼
另外data source在程序中最好处理成Server.Mappath("/App_Data/bbs.mdb")