【问题标题】:Sql Connection to ClassSql 连接到类
【发布时间】:2016-10-01 07:29:42
【问题描述】:

我想创建一个包含我的 sql 连接的类。然后在我的表单中使用我的连接中的这个类:

类名是 Connections

namespace WindowsFormsApplication1
{
public class Connections
{
    protected SqlConnection con;

     protected override void Main()
     {
       con = new SqlConnection(@"Data Source=192.168.1.100, 1433;Initial Catalog=database;user ID=xxxx;Password=xxxx");
    }
}
}

也是我的形式

namespace WindowsFormsApplication1
{
public partial class Form1 : Connections
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        con.Open();
        //rest of my code
    }
}
}

但我收到错误 WindowsFormsApplication1.Connections.Main()':找不到合适的方法来覆盖

【问题讨论】:

  • stackoverflow.com/questions/25816609/…。检查接受的答案。
  • 一个连接很容易创建,当你用完它时应该关闭和处理它。因此,“帮助”类可能弊大于利,
  • 这比你的previous attempt还要糟糕。您需要了解您编写的代码是做什么的,只是随意更改以希望它能够编译是行不通的,请获取一本书或遵循在线教程。
  • 我想在我的表单中建立一个公共连接:然后我将在任何地方使用 con.open();从这个公共连接中读取。请帮助我。我应该使用类似的东西吗?public void Connection() { myConnection = new SqlConnection("MySqlConnection"); //myConnection.Open(); }
  • 查看该连接类 - 它是一 (1) 行代码。你不需要一个帮助类。这是一个错误实施的坏主意

标签: c#


【解决方案1】:

您的类Connections 不继承自包含Main 定义的任何内容,因此override 属性不适用。

你应该把你的初始化代码放在你的构造函数中:

public Connections()
{
    con = new SqlConnection(@"Data Source=192.168.1.100, 1433;Initial Catalog=database;user ID=xxxx;Password=xxxx");
}

主要功能适用于运行的类。一个名为 Connections 的类更可能是一个实用程序类,因此在其中包含 Main 函数是没有意义的。

【讨论】:

  • 我收到错误不一致的可访问性:基类“WindowsFormsApplication1.Connections”比“WindowsFormsApplication1.Form1”类更难访问
  • 你不应该从Connections继承Form1。继承应该遵循 IS A 模式。 “Form1”不是“连接”的示例,它是使用 连接来完成其工作的东西。这表示组合关系 - 您的 Form1 应该引用 Connections 的实例,然后根据需要调用它。
  • 你能写出我应该使用的完整代码吗?在课堂上和我的表单中
  • 这并不难。只需按照我的指示将 Connections 设为一个带有构造函数的类,然后在 Connections 类型的类 Form1 上声明一个字段(Connections myConnections;),并在您的 Form1 构造函数中(或者如果你有它的 Main 函数) ) 将myConnections = new Connections(); 设置为等于类的新实例。
  • 你能举个例子吗?>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-13
相关资源
最近更新 更多