using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;
using System.Xml;
using System.Reflection;
namespace Barcodes
{
public partial class frmConnectionSetup
: Form
{
public frmConnectionSetup()
{
InitializeComponent();
}
private void
frmConnectionSetup_Load(object sender, EventArgs e)
{
}
private void
btnOK_Click(object sender, EventArgs e)
{
try
{
if (ValidData() == true)
{
StringBuilder Con = new StringBuilder("server=");
Con.Append(txtServerName.Text);
Con.Append(";database=");
Con.Append(txtDatabase.Text);
Con.Append(";uid=");
Con.Append(txtUsername.Text);
Con.Append(";pwd=");
Con.Append(txtPassword.Text);
string strCon = Con.ToString();
// updateConfigFile(strCon);
WriteConnection("ConnectionString",
strCon);
SqlConnection Db = new SqlConnection();
ConfigurationManager.RefreshSection("connectionStrings");
Db.ConnectionString = ConfigurationManager.ConnectionStrings["connectionString"].ToString();
MessageBox.Show("Connection changed successfully!", "Ken Cloud", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
}
catch
{
}
}
public void
updateConfigFile(string con)
{
XmlDocument XmlDoc = new
XmlDocument();
try
{
XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
foreach (XmlElement
xElement in XmlDoc.DocumentElement)
{
if (xElement.Name == "connectionStrings")
{
foreach (XmlNode node in xElement.ChildNodes)
{
if (node.Attributes[0].Value.Equals("ConnectionString"))
{
node.Attributes[1].Value = con;
}
// xElement.FirstChild.Attributes[1].Value = con;
}
}
}
//
ConfigurationManager.ConnectionStrings.Remove(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
//System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
XmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
ConfigurationManager.RefreshSection("connectionStrings");
string[]
pathSplit = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile.Split('\\');
//path = path.Substring(0, path.Length -
path.StartsWith("bin").ToString().Length - 4);
string path = "";
foreach (string
item in pathSplit)
{
if (item.ToLower() != "bin")
path += item + "\\";
else break;
}
path += "App.config";
XmlDoc.Load(path);//("App.config");
}
catch (Exception
ex)
{
}
}
# region
Validate Method
private bool
ValidData()
{
if (txtServerName.Text == "")
{
MessageBox.Show("Server name can't be blank.", "KenCloud", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
txtServerName.Focus();
return false;
}
if (txtDatabase.Text == "")
{
MessageBox.Show("Database name can't be blank.", "KenCloud", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
txtDatabase.Focus();
return false;
}
if (txtUsername.Text == "")
{
MessageBox.Show("User name can't be blank.", "KenCloud", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
txtUsername.Focus();
return false;
}
if (txtPassword.Text == "")
{
MessageBox.Show("Password can't be blank.", "KenCloud", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
txtPassword.Focus();
return false;
}
return true;
}
# endregion
#region For
Write connection
public static void WriteConnection(string
key, string value)
{
// load config document for current assembly
XmlDocument doc = loadConfigDocument();
// retrieve appSettings node
XmlNode node = doc.SelectSingleNode("//appSettings");
if (node == null)
throw new
InvalidOperationException("appSettings section not found in config file.");
try
{
// select the 'add' element that contains the
key
XmlElement elem = (XmlElement)node.SelectSingleNode(string.Format("//add[@key='{0}']",
key));
if (elem != null)
{
// add value
for key
elem.SetAttribute("value",
value);
}
else
{
// key was not found so create the 'add'
element
// and set it's key/value attributes
elem = doc.CreateElement("add");
elem.SetAttribute("key",
key);
elem.SetAttribute("value",
value);
node.AppendChild(elem);
}
string[] pathSplit = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile.Split('\\');
string path = "";
foreach (string
item in pathSplit)
{
if (item.ToLower() != "bin")
path += item + "\\";
else break;
}
path += "App.config";
doc.Save(path);// (getConfigFilePath());
}
catch
{
throw;
}
}
#endregion
#region For
Remove Previous Connection string
public static void RemoveSetting(string
key)
{
// load config document for current assembly
XmlDocument doc = loadConfigDocument();
// retrieve appSettings node
XmlNode node = doc.SelectSingleNode("//appSettings");
try
{
if (node == null)
throw new
InvalidOperationException("appSettings section not found in config file.");
else
{
// remove 'add' element with coresponding key
node.RemoveChild(node.SelectSingleNode(string.Format("//add[@key='{0}']", key)));
doc.Save(getConfigFilePath());
}
}
catch (NullReferenceException
e)
{
throw new
Exception(string.Format("The key {0} does not exist.", key), e);
}
}
#endregion
#region made
the Appconfig file into XML Format
private static XmlDocument loadConfigDocument()
{
XmlDocument doc = null;
try
{
doc = new XmlDocument();
doc.Load(getConfigFilePath());
return doc;
}
catch (System.IO.FileNotFoundException
e)
{
throw new
Exception("No
configuration file found.", e);
}
}
#endregion
#region Find
the Path of The COnfiguration File
private static string getConfigFilePath()
{
return Assembly.GetExecutingAssembly().Location
+ ".config";
}
#endregion
}
}
No comments:
Post a Comment