2016-09-30 4 views
-1

Я хочу создать класс, который будет включать в себя мой SQL connection.Then в моей форме, используя этот класс в своих соединениях: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() ': не подходящий метод нашел для переопределения

+0

http://stackoverflow.com/questions/25816609/checking-user-name-or-user-email-already-exists/25817145#25817145. Проверьте принятый ответ. – mybirthname

+1

Соединение тривиально для создания и должно быть закрыто и утилизировано, когда вы его закончите. Таким образом, класс «помощник», скорее всего, принесет больше вреда, чем пользы, – Plutonix

+0

Это хуже, чем ваша [предыдущая попытка] (http://stackoverflow.com/questions/39793098/). Вам нужно понять, что делает код, который вы пишете, просто делая случайные изменения в надежде, что он будет компилироваться, не работает, пожалуйста, получите книгу или следуйте онлайн-уроку. –

ответ

0

Ваш класс Connections не наследует ни от чего, содержащего определение Main, и поэтому атрибут override неприменим.

Вы должны поместить код инициализации в конструкторе:

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

Основные функции для классов, которые запустить. Класс с именем Connections скорее всего будет классом утилиты, поэтому нет смысла иметь в нем главную функцию.

+0

Я получаю ошибку Непоследовательная доступность: базовый класс «WindowsFormsApplication1.Connections» менее доступен, чем класс «WindowsFormsApplication1.Form1» – user6894907

+0

Вы не должны наследовать 'Form1' из' Connections'. Наследование должно следовать шаблону IS A. «Форма1» не является примером «Связи», это то, что * использует * соединения для выполнения своей работы. Это указывает на составное отношение - ваша Form1 должна иметь ссылку на экземпляр «Подключения» и затем вызывать его по мере необходимости. –

+0

Можете ли вы написать мне полный код, который я должен использовать? В классе и в моей форме – user6894907

Смежные вопросы