2015-04-12 129 views
0

我创建了单独的类称为连接,我已经回到了SqlConnection这样的:如何在两个单独的类之间进行通信?

class connection 
{ 
    public SqlConnection Functions() 
    { 
     string connetionString = null; 
     SqlConnection cnn; 
     Boolean flag = false; 
     connetionString = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True"; 
     cnn = new SqlConnection(connetionString); 

     return cnn; 
    } 

} 

而且我想使用另一种单独的类返回的连接,但它似乎错误,我已经编码如下

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Data.SqlClient; 
using WindowsFormsApplication1.deepak; 


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

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void button1_Click(object sender, EventArgs e) 
     { 

      SqlConnection cnn ; 

      connection c = new connection(); 
      cnn = new connection.Function(); 
      try 
      { 
       cnn.Open(); 
       MessageBox.Show ("Connection Open ! "); 
       cnn.Close(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("Can not open connection ! "); 
      } 
     } 
    } 
} 
+2

什么是错误? – dotnetom

回答

0

我觉得你找cnn = c.Functions();,而不是cnn = new connection.Function();
我也建议使用standard C# naming conventions,并在你的类名的开头使用大写字母和给你的方法呐我会描述它的目的,如GetConnection()

1

connection类(我更喜欢Connection代替connection),应该从外部访问,所以我把它修正至public

public class Connection 
{ 
    public SqlConnection Function() 
    { 
     var connetionString = /*your connection string*/ 
     return new SqlConnection(connetionString); 
    } 
} 

现在,你可以用它如下:

var conn = new Connection().Function(); //<--- you forgot the parentheses 
try 
{ 
    conn.Open(); 
    MessageBox.Show ("Connection Open ! "); 
    conn.Close(); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show("Can not open connection ! "); 
} 
相关问题