在窗体中运行正常的代码,被我放到网站中就一直出现ConnectionString 属性尚未初始化的问题。也根据网上的解决方法尝试过,没成功。实在没办法,只好老题新问了。
经测试,是连接字符串ConnString传值出了问题。数据库操作类CSql中:
public static string ConnString = ConfigurationSettings.AppSettings["strConn"];web.config中:
<appSettings>
<add key="strConn" value="data source=SEVEN; Initial Catalog=BBS_DB;user id = sa; password =111111" />
</appSettings>
<connectionStrings/>测试数据库连接的地方:
// 创建连接对象
SqlConnection SqlConn = new SqlConnection(CSql.ConnString);
// 生成查询命令
string Sql = "Select UserName,UserPassword From [user] where UserName='" + this.TB_User.Text.Trim() + "'";
// 打开连接对象
SqlConn.Open();
CSql类中的ConnString是用static定义的,这样在引用这个变量时就不用实例化了吧?
可为什么一到SqlConn.Open()就出错呢?我想应该是配置文件中出了问题。也查阅了很多帖子,发现这样的一个回复:
××××××××××××××××××××××××××
web.config中配置如下:
<connectionStrings>
<add name="managermentConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\website\App_Data\managerment.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
改为:
<appSettings>
<add key="managermentConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\website\App_Data\managerment.mdb"
providerName="System.Data.OleDb" />
</appSettings>
如果是asp.net2.0 的话 :con.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["managermentConnectionString"];
改为con.ConnectionString = System.Configuration.ConfigurationSettings.ConnectionStrings["managermentConnectionString"];
×××××××××××××××××××××××另,我的.NET是2005版本,新建网站目录中有专门存放类文件的App_Code文件夹,会不会是用于这个原因导致值传递出错呢?
经测试,是连接字符串ConnString传值出了问题。数据库操作类CSql中:
public static string ConnString = ConfigurationSettings.AppSettings["strConn"];web.config中:
<appSettings>
<add key="strConn" value="data source=SEVEN; Initial Catalog=BBS_DB;user id = sa; password =111111" />
</appSettings>
<connectionStrings/>测试数据库连接的地方:
// 创建连接对象
SqlConnection SqlConn = new SqlConnection(CSql.ConnString);
// 生成查询命令
string Sql = "Select UserName,UserPassword From [user] where UserName='" + this.TB_User.Text.Trim() + "'";
// 打开连接对象
SqlConn.Open();
CSql类中的ConnString是用static定义的,这样在引用这个变量时就不用实例化了吧?
可为什么一到SqlConn.Open()就出错呢?我想应该是配置文件中出了问题。也查阅了很多帖子,发现这样的一个回复:
××××××××××××××××××××××××××
web.config中配置如下:
<connectionStrings>
<add name="managermentConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\website\App_Data\managerment.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
改为:
<appSettings>
<add key="managermentConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\website\App_Data\managerment.mdb"
providerName="System.Data.OleDb" />
</appSettings>
如果是asp.net2.0 的话 :con.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["managermentConnectionString"];
改为con.ConnectionString = System.Configuration.ConfigurationSettings.ConnectionStrings["managermentConnectionString"];
×××××××××××××××××××××××另,我的.NET是2005版本,新建网站目录中有专门存放类文件的App_Code文件夹,会不会是用于这个原因导致值传递出错呢?
解决方案 »
- 把HyperLink控件换用buttom控件怎么写代码?
- js屏蔽Backspace但是不能影响asp的Textbox
- gridview如何只显示符合条件的记录?
- 如何获取datalist中所点击的那个图片的路径???
- 如何将数据库中的标签在ASP.NET网页中原样的显示出来?
- petshop后台管理在哪?
- 为什么刚上传的图片无法删除,说因为该文件正由另一进程使用。可我对象都已经dispose了
- aspx源码本地架设完之后预览时空白页面
- asp.net 连接 mysql数据库 问题
- DataList有没有链接列?或者,DataGrid有没有类似DataList的RepeatColumns属性?
- 请问怎样在Grid中显示连接?
- 如何配置成只允许某一用户,拒绝所有其他用户
ConfigurationSettings.AppSettings["strConn"].ToString();web.config中:
<appSettings>
<add key="strConn" value="data source=SEVEN; Initial Catalog=BBS_DB;user id = sa; password =111111" />
</appSettings>
<connectionStrings/>
但最后发现,是数据库连接出的问题....
我的数据配置是这样的:
sqlconnection thisconnection=new sqlconnection(@"server=localhost\sqlexpress;Integrated=True;"+"Database=BMS");
原来是缺少@和sqlexpress造成的,希望对楼主有帮助....
providerName="System.Data.OleDb" />
肯定是这的问题,你可以看看不用配置文件连接数据库是否成功,等成功了再把连接字符串复制过来
大多的意见是,将ConfigurationSettings.AppSettings改成ConfigurationManager.AppSettings如果这是正解,那我再问下各位。
我在一个form中采用的数据库连接方式,也是前者,为什么没报错呢?
窗体应用程序能成功,移到网站上,就不行了额。。
请求大家帮忙~~谢谢
根据1楼和2楼大哥的办法,我将SQL操作类中的
public static string ConnString = ConfigurationSettings.AppSettings["strConn"];
改成了
public static string ConnString = ConfigurationManager.AppSettings["strConn"];编译执行后,问题不变,源错误也仍旧是sqlconn.open().根据3楼和7楼大哥的办法,在最后添加一个tostring(),编译执行,出错,未将对象引用设置到对象的实例。源错误:行 23: /// </summary>
行 24:
行 25: public static string ConnString = ConfigurationManager.AppSettings["strConn"].ToString();
行 26:
行 27: /// <summary>
大家帮我看一下~谢谢
是我太粗心了,不知道用.NET创建网站的时候是在运行之后自动建立web.config文件的。
我自己去建立了一个配置文件,并命名为app.config
最后发现,无论APP.CONFIG怎么修改,代码执行过程中,压根没理它。。
实在是好水的帖子。。
非常抱歉。结贴咯。
感谢大家:
ConfigurationManager.AppSettings["strConn"].ToString();
ConfigurationManager.AppSettings["strConn"];
ConfigurationSettings.AppSettings["strConn"]; //也能成功这3句,都能成功执行。看来,在1.0和2.0中,只要是用AppSettings就可以了吧。