DbHelper中的Connection是什么意思? 本帖最后由 yison1128 于 2010-04-15 20:33:15 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 connection 小写是变量名大写是属性名大写是对小写的封装 cmd.Connection = Connection; 这里等于大写小写都可以 执行 get 访问器相当于读取字段的值打开连接 一个是字段,一个是属性,这里的Connection 就是数据库的连接字符串! 那为什么你最后还要一个 return 返回啊 ?字段和属性还要有返回的 吗 ?貌似不要吧 connection是字段,Connection是属性用get set封装 public class DBHelper { private static SqlConnection connection;//这个表示定义一个SqlConnection类型的变量,没多大作用,据说是为了封装类的属性.也就是大写的那个. public static SqlConnection Connection //这个可以说是一个属性名,是为了类的封装而定义的,是为了给外部程序调用的,请注意它的访问类型是public,而小写的那个是private. { get { string strconn = "Data Source=LENOVO-AD549D6D;Initial Catalog=xindouWeb;Integrated Security=True"; if (connection == null) { connection = new SqlConnection(strconn); connection.Open(); } else if(connection.State==System.Data.ConnectionState.Closed) { connection.Open(); } else if(connection.State==System.Data.ConnectionState.Broken) { connection.Close(); connection.Open(); } return connection; } } public static SqlDataReader ExecuteReader(string spName, CommandType cmdType) { SqlCommand cmd = new SqlCommand(); cmd.CommandText = spName; cmd.CommandType = cmdType; cmd.Connection = Connection; //这里这样用是因为,cmd.Connection中的Connection是cmd的一个属性. try { SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); return reader; } catch { connection.Close(); throw; } } }嘻嘻,1楼的朋友最后一句回答错了.我把答案写在注释里面了 关于get,set访问器请参考:C#中get和set访问器的解释 connection 是声明类型为SqlConnection 的字段Connection 只封装了get的属性 通过它获取连接cmd.Connection = Connection; 我认为必须为大些 要调用get{} 汗,都没看我的答案,都说了cmd.Connection中的Connection是cmd的一个属性.不是自己定义的那个,如果是自己定义的那个,大小写都行. 这个connection和其他类的属性定义是一样的啊。。public Program{string namepublic string Name{get{return this.name;}}}上边的Connetion和这种类型的不是一样的么? 大小写都行的,只不过如果是在外部类即不是dbhelper类的时候,只能调用大写的,因为小写定义成私有的,访问不到 小写那个是私有的,并且小写的只是一个字段名,在通过大写Connection属性初始化之前,引用也是无意义的通过了Connection才给他申请了一个connection 嗯,没错,没调用Connection时,小写的那个是空的 手机网站问题 PetShop .net 3.5怎么装的啊? 没有分了,问一个二进制读取问题?感激不尽。 NHibernat在添加映射的问题 VS网站发布和运行浏览!!!! 谢谢!!!!!!!!!!! 关于confirm确认无效问题 ASP.NET中flas不显示 怎么获取用户控件内的值? 高分求助:asp.net中数据管理问题 怎样对齐?? 被挂马了.aspx文件被修改.数据库没发现被注入..从那下的手? 实现图片新闻的展示
大写是属性名
大写是对小写的封装 cmd.Connection = Connection; 这里等于大写小写都可以
打开连接
那为什么你最后还要一个 return 返回啊 ?
字段和属性还要有返回的 吗 ?貌似不要吧
Connection是属性
用get set封装
{
private static SqlConnection connection;//这个表示定义一个SqlConnection类型的变量,没多大作用,据说是为了封装类的属性.也就是大写的那个.
public static SqlConnection Connection //这个可以说是一个属性名,是为了类的封装而定义的,是为了给外部程序调用的,请注意它的访问类型是public,而小写的那个是private.
{
get
{
string strconn = "Data Source=LENOVO-AD549D6D;Initial Catalog=xindouWeb;Integrated Security=True";
if (connection == null)
{
connection = new SqlConnection(strconn);
connection.Open();
}
else if(connection.State==System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if(connection.State==System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public static SqlDataReader ExecuteReader(string spName, CommandType cmdType)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = spName;
cmd.CommandType = cmdType;
cmd.Connection = Connection; //这里这样用是因为,cmd.Connection中的Connection是cmd的一个属性.
try
{
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch
{
connection.Close();
throw;
}
}
}嘻嘻,1楼的朋友最后一句回答错了.我把答案写在注释里面了
关于get,set访问器请参考:C#中get和set访问器的解释
汗,都没看我的答案,都说了cmd.Connection中的Connection是cmd的一个属性.不是自己定义的那个,如果是自己定义的那个,大小写都行.
{
string name
public string Name
{
get
{
return this.name;
}
}}
上边的Connetion和这种类型的不是一样的么?