//封装数据连接 static SqlConnection conn; static SqlConnection Conn { get { if (conn == null) { str 5

//封装数据连接staticSqlConnectionconn;staticSqlConnectionConn{get{if(conn==null){stringstr=... //封装数据连接
static SqlConnection conn;
static SqlConnection Conn
{
get
{
if (conn == null)
{
string str ="Data Source=.;Initial Catalog=ABC;Integrated Security=True";
MessageBox.Show(str.ToString());
string connStr = ConfigurationManager.AppSettings["ABChotel.Properties.Settings.connectionString"].ToString();
MessageBox.Show(connStr.ToString());
conn = new SqlConnection(connStr);
MessageBox.Show(conn.ToString());
}
return conn;
}

}
就是一段连接字符串的代码,字符串获取到了但conn对象还是null,未将对象引用设置到对象的实例谁能告诉我为什么谢谢各位高手小弟不才有劳了
展开
 我来答
sunzhenlinzz
2010-08-11 · TA获得超过650个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:178万
展开全部
不能在get中给conn 赋值的。所以conn对象还是null 。
你可以把Conn 变成一个方法 GetConn() 。
另外你把数据库连接搞陈静态的会出问题的。会造成连接排队,减慢查询速度。

改成这样:
private SqlConnection conn;

public SqlConnection GetConn()
{
if (conn == null)
{
string str ="Data Source=.;Initial Catalog=ABC;Integrated Security=True";
MessageBox.Show(str.ToString());
string connStr = ConfigurationManager.AppSettings["ABChotel.Properties.Settings.connectionString"].ToString();
MessageBox.Show(connStr.ToString());
conn = new SqlConnection(connStr);
MessageBox.Show(conn.ToString());
}
return conn;

}
ThinkIBM
2010-08-11 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5434万
展开全部
楼上回答错误,你不能调用conn这个成员变量,你应该调用Conn这个属性

因为你调用conn,Conn属性里的new SqlConnection这一段代码并不会执行

按你的写法,也应该是调用Conn,不允许外部访问conn

也就是说,conn应该是private的,Conn是public的

private static SqlConnection conn;
public static SqlConnection Conn
{
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mengqi718
2010-08-11 · TA获得超过398个赞
知道答主
回答量:124
采纳率:0%
帮助的人:115万
展开全部
调用的时候出现错误
例如,
SqlCommand cmd=new SqlCommand(sql,conn);
这样的话,会出现conn为空的异常,应该这样用
SqlCommand cmd=new SqlCommand(sql,Conn);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cfasus
2010-08-11 · TA获得超过705个赞
知道小有建树答主
回答量:876
采纳率:33%
帮助的人:374万
展开全部
ConfigurationManager.AppSettings干嘛的?
你读配置文件
搞什么AppSettings
不是有ConnectionString吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式