我有连接数据库的课程:
namespace DamianWprawka
{
class SQLcon
{
static SqlConnection konekt = new SqlConnection();
public SQLcon()
{
konekt.ConnectionString = "Data Source=.\\sqlexpress;"
+ "Initial Catalog=PRACA;" + "User id=sa;" + "Password=xxXXxx;";
}
void open()
{
konekt.Open();
}
void close()
{
konekt.Close();
}
}
}
其他用于查询,如插入,更新,删除,下载数据itp:
namespace DamianWprawka
{
class SQLquery
{
SQLcon SQLcnn = new SQLcon();
public void PobierzPracownik
{
SQLcnn.Open();
}
}
}
为什么我不能拨打SQLcnn.Open();
?我尝试使用静态字段/类,我只能在Main中使用它。我知道我可以在一个班级中进行连接和查询,但我希望将来能够理解这个谜团。
答案 0 :(得分:0)
您应该在** **
内进行更改class SQLcon
{
....
**public** void open() ...
**public** void close() ...
}
class SQLquerry
{
....
public void PobierzPracownik**()**
{
SQLcnn.**open**();
}
}
答案 1 :(得分:0)
访问修饰符和连接类的方法应该是公共的。像这样:
public class SQLcon
{
static SqlConnection konekt = new SqlConnection();
public SQLcon()
{
konekt.ConnectionString = "Data Source=.\\sqlexpress;" + "Initial Catalog=PRACA;" + "User id=sa;" + "Password=xxXXxx;";
}
public void open()
{
konekt.Open();
}
public void close()
{
konekt.Close();
}
}
如果您希望open()和close()方法对所有其他类都是私有的,并且Query类继承连接类,则也可以保护它。