现在我在类中的赋值:public class conns
{
   public string conn_str = "Server=TEST;Database=choujiang;uid=sa;pwd=dsd";
}窗体调用: conns conn_string = new conns();
 SqlConnection conn = new SqlConnection(conn_string.conn_str);
我现在想让sever=? database=? uid=? pwd=? 都为可以接收的参数可以通过收到的参数来改变数据连接。应该如何写?

解决方案 »

  1.   

    通过StringBuilder建立连接字符串;
    比如:
    public static Method(string server,string database,string uid,string pwd)
    {
     StringBuilder sb = new StringBuilder();
    sb.appendFormat("Server={0};Database={1};uid={2};pwd={3}",server,database,uid,pwd)
    }
    试一试,参数类型随你,但是要先经过类型转换。
      

  2.   

    这样:
    public class conns
    {
        public string conn_str
        {
            get { return String.Format("Server={0};Database={1};uid={2};pwd={3}", server, database, uid, pwd };
        }    public string server { get; set; }
        public string database { get; set; }
        public string uid { get; set; }
        public string pwd { get; set; }}调用:
    conns conn_string = new conns()
    {
        server = "xxx",
        database = "xxx",
        uid = "xxx",
        pwd = "xxx"
    };
    SqlConnection conn = new SqlConnection(conn_string.conn_str);这些代码需要 C# 3.0 (2008) 以上才能编译。
      

  3.   

    修改下:
    public class conns
    {
        public string conn_str
        {
            get { return String.Format("Server={0};Database={1};uid={2};pwd={3}", server, database, uid, pwd); }
        }    public string server { get; set; }
        public string database { get; set; }
        public string uid { get; set; }
        public string pwd { get; set; }}
      

  4.   


    public class Conn
        private string server,db,uid,pwd;
        public Conn(string server,string db,string uid,string pwd)
        {
            this.server=server;
            this.db=db;
            this.uid=uid;
            this.pwd=pwd;
        }
        public string getConnString()
        {
            return String.Format("Server={0};Database={1};uid={2};pwd={3}", server, db, uid, pwd };
        }
    }
    调用时:Conn conn=New Conn("Server","db","uid","pwd");
    string cs=conn.getConnString();
      

  5.   

            public class ConnString
            {
                public string Server { get; set; }
                public string Database { get; set; }
                public string UID { get; set; }
                public string PWD { get; set; }            public ConnString() : this("(local)", "master", "sa", String.Empty) { }            public ConnString(string server, string db, string uid, string pwd)
                {
                    this.Server = server;
                    this.Database = db;
                    this.UID = uid;
                    this.PWD = pwd;
                }            public override string ToString()
                {
                    return String.Format("Server={0};Database={1};uid={2};pwd={3}", Server, Database, UID, PWD);            }
            }
      

  6.   

    话说如果数据库没有指定连接,那么我的这个变量取值从什么地方取啊? accsee,ini?
      

  7.   


    应该将整个字符串保存在.net的配置文件(.config) 里。
      

  8.   


    public class conns
    {
       public string conn_method(string server,string database,string uid,string pwd)
       {
          conn_str="server="+server+";"+"database="+database+";"+"uid="+uid+";"+"pwd="+pwd;   
       }
       private string conn_str;
       
    }