如何调用数据库连接的类呢?

y2565120 2012-10-03 06:19:13
数据库连接是经常用到的,我想写在类里面,可以调用,不用重复写了。
但是如果写到类里面怎样调用呢?
例如第一个类里,写数据库连接程序
例如:
pubulic class connopen()
{
......
SqlConnection conn = new SqlConnection(strconn); //建立数据库连接
conn.open();
}
第二个类里,执行sql语句。例如:
public class abc()
{
connopen sqlstr = new connopen();
sql=".....";
SqlCommand cmd = new SqlCommand(); //创建sqlcommand对象
cmd.Connection = conn;
cmd.CommandText = insertceshisql;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery(); //执行update语句

}

但是第二个类总是提示conn上下文不存在。
我也搞不懂了,
请问大哥们一般数据库连接的类怎样调用呢?
...全文
227 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggewt2td 2012-10-08
  • 打赏
  • 举报
回复
9楼,你仔细看一下它的 connopen() 方法,

如果用 connopen().Close();
那就是重新开一个连接,然后关闭,这与前面的连接没有关系啊, cmd.Connection = connopen();


所以要用 cmd.Connection.Close();才是前面操作的连接
暖枫无敌 2012-10-06
  • 打赏
  • 举报
回复
public SqlConnection connopen()
{
SqlConnection conn= new SqlConnection(sqlconnstr); //建立数据库连接

conn.Open();

return conn;

}

public void connExecuteNonQuery(string sqlword)
{
cmd.Connection = connopen();

cmd.CommandText = sqlword;

cmd.CommandType = CommandType.Text;

cmd.ExecuteNonQuery();

//connopen.Close(); //这里出错!!!请问数据库如何关闭呢????
connopen().Close(); //这里的数据库连接是通过一个方法来获得的,所以关闭也应该先调用这个方法,然后再关闭
}
ggewt2td 2012-10-05
  • 打赏
  • 举报
回复
最好用成熟的数据层,而不是自己写,自己写会有很多问题的。
ggewt2td 2012-10-05
  • 打赏
  • 举报
回复
cmd.Connection.Close();
y2565120 2012-10-04
  • 打赏
  • 举报
回复
谢谢楼上的大哥,我试了没有问题,但是数据库如何关闭呢?
public SqlConnection connopen()
{
SqlConnection conn= new SqlConnection(sqlconnstr); //建立数据库连接

conn.Open();

return conn;

}
public void connExecuteNonQuery(string sqlword)
{
cmd.Connection = connopen();

cmd.CommandText = sqlword;

cmd.CommandType = CommandType.Text;

cmd.ExecuteNonQuery();

connopen.Close(); //这里出错!!!请问数据库如何关闭呢????
}

最后一行提示出错,数据库如何关闭呢?需不需要关闭呢?
y2565120 2012-10-04
  • 打赏
  • 举报
回复
谢谢楼上的大哥,我试了没有问题,但是数据库如何关闭呢?


public SqlConnection connopen()
{
SqlConnection conn= new SqlConnection(sqlconnstr); //建立数据库连接

conn.Open(); //连接数据库

return conn;

}
public void connExecuteNonQuery(string sqlword)
{
cmd.Connection = connopen();

cmd.CommandText = sqlword;

cmd.CommandType = CommandType.Text;

cmd.ExecuteNonQuery(); //执行sql语句

connopen.Close(); //这里出错!!!请问数据库如何关闭呢????
}




最后一行提示出错,数据库如何关闭呢?需不需要关闭呢?
暖枫无敌 2012-10-04
  • 打赏
  • 举报
回复
pubulic class connopen()
{
public SqlConnection conn;
public SqlConnection getConnection()
{
conn = new SqlConnection(strconn); //建立数据库连接
conn.open();
return conn;
}
}
第二个类里,执行sql语句。例如:
public class abc()
{
connopen sqlstr = new connopen();
sql=".....";
SqlCommand cmd = new SqlCommand(); //创建sqlcommand对象
cmd.Connection = sqlstr.getConnection(); //cmd.Connection = conn;
cmd.CommandText = insertceshisql;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery(); //执行update语句

}
noliver 2012-10-04
  • 打赏
  • 举报
回复
public class connopen()
{
......
public static SqlConnection conn = new SqlConnection(strconn); //建立数据库连接
conn.open();
}



cmd.Connection = connopen.conn;
y2565120 2012-10-04
  • 打赏
  • 举报
回复
谢谢楼上的大哥,还有没有更详细的呢?看的有点模糊不清。
threenewbee 2012-10-03
  • 打赏
  • 举报
回复
将connection定义成私有变量

class xxx
{
private SqlConnection connection;
public void foo1()
{
...
}
public void foo2()
{
...
}
}

109,900

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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