是否需要添加Using?

DeeplyMoved 2008-09-24 04:56:07
我在抽象工厂的数据访问层的公共方法类是这样实现的:
private static SqlConnection connection;
[align=left]public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["MySchoolConnectionAccess"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
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 int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
}
---*********---
请问我要不要将ExecuteCommand方法改成
public static int ExecuteCommand(string safeSql)
{
using (Connection)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;

}
}
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
DeeplyMoved 2008-09-25
  • 打赏
  • 举报
回复
要不要使用Using,还跟数据库连接池有关.
Data Provider提供连接池并通过连接池实现“物理连接”重复使用而避免频繁地建立和关闭“物理连接”,从而大大提高应用系统的性能。
wartim 2008-09-24
  • 打赏
  • 举报
回复
我比较喜欢用局部变量+try..finally的写法
changjiangzhibin 2008-09-24
  • 打赏
  • 举报
回复
可参照看看 PetShop 4.0的写法、用法
鲁虾 2008-09-24
  • 打赏
  • 举报
回复
哈哈,从网上找的,没改,直接拷贝,一块学习!!
鲁虾 2008-09-24
  • 打赏
  • 举报
回复
今天一个朋友问我using有几种用途,我的第一反应就是茴香豆的4种写法,第2反应是肯定又是个面试题。

先前就知道using可以这样用:

1、引用命名空间,减少冗余代码

Using System.Web.UI.WebControls;

2、即时释放资源

Using (TestObject a = new TestObject()) {

// 使用对象

}

//对象资源被释放

不是说有3条吗?立马查了一下sdk

***********************************************

sdk里是这么说的:

using 指令有两个用途:

◆创建命名空间的别名(using 别名)

◆允许在命名空间中使用类型,例如,不必限定该命名空间中的类型使用(using 指令)。

using [alias = ]class_or_namespace;

其中:

alias(可选)

希望表示命名空间的用户定义符号。之后,您就可以使用 alias 表示命名空间名。

class_or_namespace

希望使用或为其提供别名的命名空间名,或希望为其提供别名的类名。

备注

创建using 别名以便更易于将标识符限定到命名空间或类。

创建using 指令,以便在命名空间中使用类型而不必指定命名空间。using 指令不为您提供对可能嵌套在指定命名空间中的任何命名空间的访问。

命名空间

命名空间分为两类:用户定义的命名空间和系统定义的命名空间。

用户定义的命名空间是在代码中定义的命名空间。有关系统定义的命名空间的列表,请参见 .NET Framework 文档。

有关其他程序集中的引用方法的示例,请参见创建和使用 C# DLL。

示例

下面的示例显示了如何为命名空间定义和使用 using 别名:

// cs_using_directive.cs using MyAlias = MyCompany.Proj.Nested; // define an alias to represent a namespace namespace MyCompany.Proj { public class MyClass { public static void DoNothing() { } } namespace Nested // a nested namespace { public class ClassInNestedNameSpace { public static void SayHello() { System.Console.WriteLine("Hello"); } } } } public class UnNestedClass { public static void Main() { MyAlias.ClassInNestedNameSpace.SayHello(); // using alias } }


输出

Hello

示例

下面的示例显示了如何为类定义using 指令和 using 别名:

// cs_using_directive2.cs using System; // using directive using AliasToMyClass = NameSpace1.MyClass; // using alias for a class namespace NameSpace1 { public class MyClass { public override string ToString() { return "You are in NameSpace1.MyClass"; } } } namespace NameSpace2 { class MyClass { } } namespace NameSpace3 { using NameSpace1; // using directive using NameSpace2; // using directive class Test { public static void Main() { AliasToMyClass somevar = new AliasToMyClass(); Console.WriteLine(somevar); } } }


输出

You are in NameSpace1.MyClass

*********************************************

所以再加上一条:

3、创建命名空间的别名(using 别名)

using MyAlias = MyCompany.Proj.Nested;

lemong 2008-09-24
  • 打赏
  • 举报
回复
1.需要,随时释放资源是必须要养成的习惯
2.这是抽象工厂?
3.connection不要用静态
Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件开发商及电信营运商共同研发改良。 Android操作系统的特点包括: 开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第三方应用市场下载和安装各种各样的应用程序,满足各种需求。 可定制性:Android操作系统可以根据用户的个人喜好进行定制,用户可以更改主题、小部件和图标等,以使其界面更符合个人风格和偏好。 多种设备支持:Android操作系统可以运行在多种不同类型的设备上,包括手机、平板电脑、智能电视、汽车导航系统等。 此外,Android系统还有一些常见的问题,如应用崩溃、电池耗电过快、Wi-Fi连接问题、存储空间不足、更新问题等。针对这些问题,用户可以尝试一些基本的解决方法,如清除应用缓存和数据、降低屏幕亮度、关闭没有使用的连接和传感器、限制后台运行的应用、删除不需要的文件和应用等。 随着Android系统的不断发展,其功能和性能也在不断提升。例如,最新的Android版本引入了更多的安全性和隐私保护功能,以及更流畅的用户界面和更强大的性能。此外,Android系统也在不断探索新的应用场景,如智能家居、虚拟现实、人工智能等领域。 总之,Android系统是一种功能强大、灵活可定制、拥有丰富应用生态系统的移动操作系统,在全球范围内拥有广泛的用户基础。

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧