DBHelper类加个方法、或加个属性、甚至加个字段也行把用户输入的数据库地址、登录名和密码作为参数传进去,然后组合成一个链接串,使用的时候用你这个组合后的连接字符串链接数据库如:
public string MakeConnStr(string strServer, string strUID, string strPwd)
{
return "server=" + strDB + ";database=company;uid=" + strUID + ";pwd=" + strPwd;
}
public string MakeConnStr(string strServer, string strUID, string strPwd)
{
return "server=" + strDB + ";database=company;uid=" + strUID + ";pwd=" + strPwd;
}
string server = "";
string database = "";
string uid = "";
string pwd = "";
string connectionString = string.Format("server={0};database={1};uid={2}a;pwd=3;", server,database,uid,pwd);
get 里面调用不了那个方法啊!
不用在get里调用
你把get里的connectionString变量提取到外面来,在类里定义
private static string connectionString;
public static void MakeConnStr(string strServer, string strUID, string strPwd)
{
connectionString = "server=" + strDB + ";database=company;uid=" + strUID + ";pwd=" + strPwd;
}
外面的代码先调用MakeConnStr函数,再访问Connection属性
如果不写在GET{}里面 那我调用dbhelper类中的其他方法时能自动连接数据库吗?
public string MakeConnStr(string strServer, string strUID, string strPwd)
{
return connectionString = "server=" + strServer + ";database=company;uid=" + strUID + ";pwd=" + strPwd;
}
private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
//string connectionString = "server=192.168.0.81\\sqlexpress;database=company;uid=sa;pwd=sa;";
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
这样吗?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Data.ConnectionUI;
using System.Xml;
namespace DSZQ
{
public partial class DataConn : Form
{
public DataConn()
{
InitializeComponent();
//filepath = Environment.CurrentDirectory;
filepath =Application.StartupPath;
filepath += "//App.config";
}
string filepath;
string connstr;
/// <summary>
///
/// </summary>
/// <param name="key"></param>
/// <param name="strValue"></param>
public void Modify(string key, string strValue) //两个参数:要修改的键值 和 要修改的新值;
{
string flagstr = strValue;
if (strValue == string.Empty)
{
MessageBox.Show("连接串不能为空!");
return;
}
//string XPath = "/configuration/userInfo/add[@key='?']";
try
{
string XPath = "/configuration/appSettings/add[@key='?']";
XmlDocument domWebConfig = new XmlDocument(); //domWebConfig.Load((HttpContext.Current.Server.MapPath("web.config")));
domWebConfig.Load(filepath);
XmlNode addKey = domWebConfig.SelectSingleNode((XPath.Replace("?", key))); if (addKey == null)
{
//Response.Write("<script>alert (\"没有找到<add key='" + key + "' value=.../>的配置节\")</script>");
MessageBox.Show("没有找到<add key='" + key + "'>的配置节");
return;
}
addKey.Attributes["value"].InnerText = strValue;
domWebConfig.Save(filepath);
MessageBox.Show("数据库连接配置成功","信息提示");
txtConnectionString.Text = connstr;
txtConnectionString.Enabled = false;
}
catch
{
// MessageBox.Show("在"+Environment.CurrentDirectory + "目录下找不到web.config配置文件","信息提示");
txtConnectionString.Enabled = true;
txtConnectionString.Clear();
txtConnectionString.ForeColor = Color.Red;
txtConnectionString.Text ="在" + Application.StartupPath + "目录下找不到App.config配置文件";
return;
} } private void buttonConn_Click(object sender, EventArgs e)
{
DataConnectionDialog dialog = new DataConnectionDialog();
//添加数据源列表,可以向窗口中添加自己程序所需要的数据源类型
dialog.DataSources.Add(DataSource.SqlDataSource);
dialog.DataSources.Add(DataSource.OdbcDataSource); dialog.SelectedDataSource = DataSource.SqlDataSource;
dialog.SelectedDataProvider = DataProvider.SqlDataProvider;
//只能够通过DataConnectionDialog类的静态方法Show出对话框
//不同使用dialog.Show()或dialog.ShowDialog()来呈现对话框
if (DataConnectionDialog.Show(dialog, this) == DialogResult.OK)
{
connstr = dialog.ConnectionString;
connstr = "Provider=SQLOLEDB.1;" + connstr;
Modify("ConnStr",connstr);
}
}
}
}
string database = "";
string uid = "";
string pwd = "";
string connectionString = string.Format("server={0};database={1};uid={2}a;pwd=3;", server,database,uid,pwd);UP