绕了。。。绕了
今天想写个小工具,因为是菜鸟中的菜鸟 所以什么也不会。。。很多东西考虑太不全面了。。
首先是连接数据库 有四个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;
}
}
{
//------------打开文件夹 返回打开路径---------------
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("连接错误!请检查!");
}
}