public class connection
{
public string code(string constr)
{
constr = "server=PC-200910010718;database=考试系统;uid=sa;pwd=";
return constr;
}
//连接数据库
public SqlConnection ConOpen()
{
string constr = "";
connection cs = new connection();
constr = cs.code(constr);
SqlConnection con = new SqlConnection(constr);
con.Open();
return con;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
connection cn = new connection();
cn.ConOpen();
//这里要关闭连接
}
这样能打开con(con.open()),要怎样实现con.close()呢?就是在connection类还要加哪些代码
connection.Open();
...
connection.Close();
直接写在click里就行了
刚写了个呢
public static void Main()
{
string connextionString = "data source=172.31.212.9;initial catalog=d_lisa_Repository_dev01;UID=sa;PWD=rdc;";
bool testResult = SQLConnectionState(connextionString);
Console.WriteLine(testResult);
Console.ReadKey();
} private static bool SQLConnectionState(string connectionString)
{
bool connectionState = false;
SqlConnection sCon = new SqlConnection(connectionString);
try
{
sCon.Open();
if (sCon.State == System.Data.ConnectionState.Open)
connectionState = true;
}
catch
{
}
finally
{
sCon.Close();
}
return connectionState;
}
打开数据库
对数据库进行操作
关闭数据库。
你应该在操作完数据的地方家上connection的close()方法。
数据库open的方法也写的不全。应该这样写
public static SqlConnection Connection
{
get
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["HMConnectionString"].ToString();
/*string connectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=F:\\项目\\三层架构Demo\\Web\\App_Data\\MyBookShop.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";*/
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 string code(string constr)
{
constr = "server=PC-200910010718;database=考试系统;uid=sa;pwd=";
return constr;
}
你把此方法的参数又作为方法的返回值,这不脱了裤子放屁嘛! public SqlConnection ConOpen()
{
string constr = "";
connection cs = new connection();
constr = cs.code(constr);
SqlConnection con = new SqlConnection(constr);
con.Open();
return con;
}
干嘛在本类的方法中new自己啊!看的我都麻了!
上面的结构可以写成这样,简单清晰:
public Class DBHelper
{
private string constr = "server=PC-200910010718;database=考试系统;uid=sa;pwd=";
public static SqlConnection GetConn(constr)
{
return new SqlConnection(constr);
}
}
去找个例子看吧!这个东西挺有讲究的!写好要供整个程序调用
但是你更应该接受大家的建议,把打开和关闭放在try..catch..finally中就行了
另外你在con.Open();
和con.Close();
的时候 最好加上Try ..Catch finally .
要不容易出异常
{
//连接数据库
public SqlConnection ConOpen()
{
SqlConnection con = new SqlConnection("server=PC-200910010718;database=考试系统;uid=sa;pwd=");
try { con.Open(); }
catch { }
finally { con.Close(); }
return con;
}
}