简单问题200分求助
100分在这边
http://community.csdn.net/Expert/topic/5525/5525152.xml?temp=.2870294
using System.Data.SqlClient;
using System.Configuration;
namespace skyask.SQLServerTask
{
/// <summary>
/// DBConnection 数据库联接
/// </summary>
public sealed class DBConnection
{
#region 类 DBConnection 构造器
/// <summary>
/// 类 DBConnection 默认构造器
/// </summary>
private DBConnection()
{
}
#endregion
/// <summary>
/// 获取数据库连接
/// </summary>
public static SqlConnection CreateInstance()
{
// 从配置文件中获取连接字符串并返回连接对象
return new SqlConnection(ConfigurationManager.ConnectionStrings[ "sqlConnectionString "].ConnectionString);
}
}
}
------------------------------
public static int ExecuteNoneQuery(string cmdText, CommandType cmdType, SqlParameter[] sqlParams)
{
int val=0;
SqlConnection dbConn=DBConnection.CreateInstance();///到这位置出错
配置文件
----------------------------------------
<configuration>
<appSettings/>
<connectionStrings>
<add name= "sqlConnectionString " connectionString= "Data Source=320-6FCD89B076F;Initial Catalog=SkyAsk;User ID=sa " providerName= "System.Data.SqlClient "/>
</connectionStrings>
<system.web>
-----------------------------------------
上面那些代码在SQLServerTask项目下
---------------------------
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 11: #region 类 DBConnection 构造器
行 12: /// <summary>
行 13: /// 类 DBConnection 默认构造器
行 14: /// </summary>
行 15: private DBConnection()
源文件: F:\Ask\SqlServerTask\DBConnection.cs 行: 13
[解决办法]
发你你操作时的代码看看呢
[解决办法]
。。不是说了么,看看ConfigurationManager.ConnectionStrings[ "sqlConnectionString“]这个是不是null
[解决办法]
跟踪查看一下DBConnection.CreateInstance()的返回值
未将对象引用设置到对象的实例
这样的错误是最容易找的,F10一步一步跟踪,看值的变化情况
[解决办法]
看sqlConnectionString
[解决办法]
ConnectionStrings[ "sqlConnectionString "]
到web.config看sqlConnectionString是否一致,位置放的对不对
[解决办法]
把private DBConnection()改称public看下
[解决办法]
要不,你把完整的DBConnection 代码贴出来吧
[解决办法]
private DBConnection()
{
}
你把这个方法去掉还有问题么?
[解决办法]
return new SqlConnection(ConfigurationManager.ConnectionStrings[ "sqlConnectionString "].ConnectionString);
或者你先在这里直接用连接字符串看看有没有问题。
[解决办法]
up
[解决办法]
SqlConnection(ConfigurationManager.ConnectionStrings[ "sqlConnectionString "].ConnectionString);
===>
SqlConnection(ConfigurationManager.ConnectionStrings[ "sqlConnectionString "].ToString();吧。。。。。。。。。。。。。。。。。
[解决办法]
是不是 static 的问题
[解决办法]
Sorry...
为什么不设置在 <appSettings> </appSettings> 呢?。。
[解决办法]
up up ,关注,不要沉低
[解决办法]
按照你的代码试了一下,没什么错误,你是不是故意炒做呀???
[解决办法]
把這里﹕
public static SqlConnection CreateInstance()
{
// 从配置文件中获取连接字符串并返回连接对象
return new SqlConnection(ConfigurationManager.ConnectionStrings[ "sqlConnectionString "].ConnectionString);
}
改成﹕
public static SqlConnection CreateInstance()
{
// 从配置文件中获取连接字符串并返回连接对象
return new SqlConnection(ConfigurationSettings.AppSettings[ "Connection "]);
}
[解决办法]
把這里﹕
public static SqlConnection CreateInstance()
{
// 从配置文件中获取连接字符串并返回连接对象
return new SqlConnection(ConfigurationManager.ConnectionStrings[ "sqlConnectionString "].ConnectionString);
}
改成﹕
public static SqlConnection CreateInstance()
{
// 从配置文件中获取连接字符串并返回连接对象
return new SqlConnection(ConfigurationSettings.AppSettings[ "sqlConnectionString "]);
}
[解决办法]
建议把 ConnectinoString 写死试试
[解决办法]
babyrockxray(紫色阴影)
是不是 static 的问题
==============
如果不是static 编译都过不了
---------------------------------
可以成功编译.就在运行的时候出现错误
======================
public sealed class DBConnection
{
public SqlConnection CreateInstance()
{
// 从配置文件中获取连接字符串并返回连接对象
return new SqlConnection(ConfigurationManager.ConnectionStrings[ "sqlConnectionString "].ConnectionString);
}
}
SqlConnection dbConn=DBConnection.CreateInstance();
这样能编译通过?只能说明你的dll是过期的
删掉重新build一遍再说