用Singleton 模式试试。
public class QuoteManager
{
private static QuoteManager _Instance = null;
private QuoteManager() {}
public static QuoteManager GetInstance()
{
if (_Instance==null)
{
_Instance = new QuoteManager ();
}
return _Instance;
}
}
public class QuoteManager
{
private static QuoteManager _Instance = null;
private QuoteManager() {}
public static QuoteManager GetInstance()
{
if (_Instance==null)
{
_Instance = new QuoteManager ();
}
return _Instance;
}
}
using System.Data;
using System.Data.SqlClient;namespace Intranet
{ public class DataConnection
{
private static string mstrDatabaseConn = "Persist Security Info=True;User ID=sa;Password=1234;Initial Catalog=dd;Data Source=(local)";
private static Boolean mblnIfCanConnectionDatabase = false;
private static SqlConnection mDatabaseConnection; public DataConnection()
{
//
// TODO: Add constructor logic here
//
try
{
mDatabaseConnection = new SqlConnection(mstrDatabaseConn);
mDatabaseConnection.Open(); mblnIfCanConnectionDatabase = true;
}
catch
{
mblnIfCanConnectionDatabase = false;
}
}
public static Boolean IfCanConnectionDataBase
{
get
{
return mblnIfCanConnectionDatabase;
}
} public static SqlConnection DatabaseConnection
{
get
{
return mDatabaseConnection;
}
} }
}我需要知道数据库是否连接,如果连接返回DatabaseConnection我想让他全局存在,但是没有办法public static class DataConnection报错谢谢
你作一个连接类
然后,用的时候,把它设为public static就可以了啊
http://www.csdn.net/Develop/read_article.asp?id=26436
楼主上面的结构设计的不是不好,
参考下面的试试。
using System;
using System.Data;
using System.Data.SqlClient;namespace ZZ.DAL
{
/// <summary>
/// SqlDbHelper 的摘要说明。
/// </summary>
public class SqlDbHelper
{
private static string strConn = "server=workflow;uid=sa;pwd=workflow123;database=Northwind";
/// <summary>
/// 获取单个值
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static object ExecuteScalar(string strSql)
{
object o = null;
SqlConnection myConn = new SqlConnection(strConn);
SqlCommand myComm = new SqlCommand(strSql,myConn);
try
{
myConn.Open();
o = myComm.ExecuteScalar();
}
catch(Exception e)
{
e.ToString();
}
finally
{
myConn.Close();
}
return o;
}
/// <summary>
/// 更新数据
/// </summary>
/// <param name="strSql"></param>
public static int ExecuteNonQuery(string strSql)
{
int count = -1;
SqlConnection myConn = new SqlConnection(strConn);
SqlCommand myComm = new SqlCommand(strSql,myConn);
try
{
myConn.Open();
count = myComm.ExecuteNonQuery();
}
catch(Exception e)
{
e.ToString();
}
finally
{
myConn.Close();
}
return count;
}
/// <summary>
/// 获取数据读取器
/// </summary>
/// <param name="strSql"></param>
public static SqlDataReader ExecuteReader(string strSql)
{
SqlConnection myConn = new SqlConnection(strConn);
SqlCommand myComm = new SqlCommand(strSql,myConn);
myConn.Open();
return myComm.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 获取数据集
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static DataSet ExecuteDataSet(string strSql)
{
DataSet ds = new DataSet();
SqlConnection myConn = new SqlConnection(strConn);
try
{
SqlCommand myComm = new SqlCommand(strSql,myConn);
SqlDataAdapter myAda = new SqlDataAdapter(myComm);
myAda.Fill(ds,"TableName");
}
catch(Exception e)
{
e.ToString();
ds = null;
}
finally
{
myConn.Close();
}
return ds;
}
}
}