绕了。。。绕了

今天想写个小工具,因为是菜鸟中的菜鸟 所以什么也不会。。。很多东西考虑太不全面了。。

首先是连接数据库 有四个textbox 输入 IP UID DATABASENAME PWD 然后测试是否连接成功。。。成功后跳转到新的

窗体 上去选择你要用那个工具。。



 


    
class DB
    {  
    
public bool linkSQL(string IP, string Database, string Uid, string Pwd)
        {
            
bool ok = false;
            
string linkstr2 = "Data Source=" + IP + ";Initial Catalog=" + Database + ";User ID=" + Uid + ";Password=" + Pwd + ";";
            SqlConnection conn 
= new SqlConnection();
            conn.ConnectionString 
= linkstr2;

            
try
            {
                conn.Open();
                
if (conn.State == ConnectionState.Open)
                {
                    ok 
= true;
                }
                
else
                {
                    ok 
= false;
                }
            }
            
catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            
finally
            {
                conn.Close();
            }
            
return ok;

        }
    }

 

 

 

但是我忽然发现 其他窗口也需要这样的链接,不想重复输入IP啊什么的,我想把 连接测试窗口输入的那些值给保留下来,我不知道怎么做了。。我想到了。。在这个窗口里面写连接字符串的时候把 另外一个窗口的textbox的值给取过来,这就是杯具的开始。。我跑去遍历那个窗口控件,然后取值(结果弄了半天没有做到)。。。 必须得想个办法来保存值啊。。于是我想到了 像web的CONFIG 文件一样 测试连接的时候如果成功 就把这些值保存在 。。。。txt里面  然后其他窗口要用连接了 读取就是了。。。

 

  class file
    {
        
//------------打开文件夹  返回打开路径---------------
        public string openfile()
        {
            FolderBrowserDialog fbd 
= new FolderBrowserDialog();
            
string path = "";
            
if (fbd.ShowDialog() == DialogResult.OK)
            {
                path 
= fbd.SelectedPath;
            }
            
return path;
        }

        
public void save(string ip ,string database ,string id,string pwd)
        {

            
string txt = "Data Source=" + ip + ";Initial Catalog=" + database + ";User ID=" + id + ";Password=" + pwd + ";";
            FileStream fs 
= new FileStream("d:/peizhi.txt", FileMode.Create);
            StreamWriter sw 
= new StreamWriter(fs);
            sw.WriteLine(txt);
            sw.Close();
        }
        
public string read()
        {
            
try
            {
                StreamReader sr 
= new StreamReader("d:/peizhi.txt");
                
string resault = sr.ReadToEnd();
            }
            
catch (Exception ex)
            {

            }
            
return resault;

        }
    }

 

写连接字符串的时候 调用read 方法就行了。。。。

 

 


        
private void button1_Click(object sender, EventArgs e)
        {
            DB db 
= new DB();
            
if (db.linkSQL(textBox1.Text.Trim(), textBox2.Text.Trim(), textBox3.Text.Trim(), textBox4.Text.Trim()) == true)
            {
                MessageBox.Show(
"连接成功!");
                file fl 
= new file();
                fl.save(textBox1.Text.Trim(), textBox2.Text.Trim(), textBox3.Text.Trim(), textBox4.Text.Trim());
                
this.Hide();
                choose ch 
= new choose();
                ch.Show();

            }
            
else
            {
                MessageBox.Show(
"连接错误!请检查!");
            }
        }

 

 

posted @ 2010-01-06 13:14  雨丸  阅读(234)  评论(0编辑  收藏  举报