我是C#的新手,我从昨天开始学习。

我创建了连接到SQL Server的类:

namespace Exchange_Ofiice.Classes
{
    public class sqlConn
    {
        public void connectionMethod()
        {
            SqlConnection myConnection = new SqlConnection("user id=ID;password=PASS;server=SERVER;database=DB;");
            try
            {
                myConnection.Open();
            }
            catch
            {
                MessageBox.Show("Невозможно подключиться к Базе данных. Пожалуйста обратитесь к программистам!", "Ошибка подключения к Базе данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                myConnection.Close();
            }
        }
    }
}


和另一个用于用户身份验证的类:

namespace Exchange_Ofiice.Classes
{
    public class auth:sqlConn
    {

        public void authMethod()
        {
            SqlCommand myCommand = new SqlCommand("Command String", myConnection);
        }

    }
}


如何在第二类中获取(使用)SQL连接结果(myConnection)?

附言第SqlCommand myCommand = new SqlCommand("Command String", myConnection);行不起作用。

P.S.S.抱歉,如果我输入有误,我的英语并不完美。

最佳答案

尝试这个。因此,您在类而不是函数中具有SQLConnection。
如果在函数中声明某些内容,则只能在该函数中访问它。

 public class sqlConn
{
    public SqlConnection myConnection;
    public void connectionMethod()
    {
        myConnection = new SqlConnection("user id=ID;password=PASS;server=SERVER;database=DB;");
        try
        {
            myConnection.Open();
        }
        catch
        {
            MessageBox.Show("Невозможно подключиться к Базе данных. Пожалуйста обратитесь к программистам!", "Ошибка подключения к Базе данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        finally
        {
            myConnection.Close();
        }
    }
}


哦,您可能要考虑将SQLConnection设为私有

private SqlConnection myConnection;


然后创建一个函数来检索值。

   public SqlConnection GetConnection()
    {
        return myConnection;
    }


在另一类中,它将是:

SqlCommand myCommand = new SqlCommand("Command String", GetConnection());

关于c# - C#-与SQL Server 2005的公共(public)全局连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17853104/

10-12 12:44
查看更多