Click here to Skip to main content
15,886,362 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi,
I have a windows form with a "ComboBox" on it. The "ComboBox" has the words "Production" and "Development" in it. If the user selects "Production", I need my C# code to point to the Production database. If the user selects "Development", I need my C# code to point to the Development database. Can someone please tell me how to do this?

Sorry, I'm still not sure what to do. I am new to C#, so it is confusing. Here is my code:
C#
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.IO;
using System.Runtime.InteropServices;
using Microsoft.Win32.SafeHandles;
using System.Data.SqlClient;
using System.Data.SqlTypes;


namespace GEOINT
{
    public partial class frmForm : Form
    {
        public frmForm()
        {
            InitializeComponent();
        }
        //Insert using Filestream, file into SQL Server Table
        private void btnInsert_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDlg = new OpenFileDialog();
            openFileDlg.InitialDirectory = Directory.GetCurrentDirectory();
            if (openFileDlg.ShowDialog() == DialogResult.OK)
            {
                FileInfo fi = new FileInfo(openFileDlg.FileName);
                FileStream fs = new FileStream(fi.FullName, FileMode.Open, FileAccess.Read);
                BinaryReader rdr = new BinaryReader(fs);
                byte[] fileData = rdr.ReadBytes((int)fs.Length);
                rdr.Close();
                fs.Close();
                
                string cs = @"server=JITC-PC\GEOINT;database=DEV_GEOINT;integrated security=SSPI";
                using (SqlConnection con = new SqlConnection(cs))
                {
                    con.Open();
                    string sql = "INSERT INTO Filestream_Files (Row_Guid_Col_ID, fData, fName) VALUES (default, @fData, @fName)";
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.Parameters.Add("@fData", SqlDbType.Image, fileData.Length).Value = fileData;
                    cmd.Parameters.Add("@fName", SqlDbType.NVarChar).Value = fi.Name;
                    cmd.ExecuteNonQuery();

                    con.Close();
                }
                MessageBox.Show(fi.FullName, "Selected Document/Picture Inserted!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmForm_Load(object sender, EventArgs e)
        {

        }
        //Load LAST selected file to SQL Server table
        private void btnRetrieve_Click(object sender, EventArgs e)
        {
            string cs = @"server=JITC-PC\GEOINT;database=DEV_GEOINT;integrated security=SSPI";
            using (SqlConnection con = new SqlConnection(cs))
            {
             
                con.Open();
                SqlTransaction txn = con.BeginTransaction();
                string sql = "SELECT fData.PathName(), GET_FILESTREAM_TRANSACTION_CONTEXT(), fName fID FROM Filestream_Files WHERE fID = (SELECT MAX(fID)FROM Filestream_Files)";
                SqlCommand cmd = new SqlCommand(sql, con, txn);
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {

                    string filePath = rdr[0].ToString();
                    byte[] objContext = (byte[])rdr[1];
                    string fName = rdr[2].ToString();

                    SqlFileStream sfs = new SqlFileStream(filePath, objContext, System.IO.FileAccess.Read);

                    byte[] buffer = new byte[(int)sfs.Length];
                    sfs.Read(buffer, 0, buffer.Length);
                    sfs.Close();

                    //Files in the table have been written to a directory for viewing.

                    //string filename = @"C:\Development\Geoint\Geoint\bin\debug;
                    string filename = fName;

                    System.IO.FileStream fs = new System.IO.FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Write);
                    fs.Write(buffer, 0, buffer.Length);
                    fs.Flush();
                    fs.Close();

                }

                rdr.Close();
                txn.Commit();
                con.Close();
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
                
    }

}
Posted
Updated 9-Feb-12 23:56pm
v5
Comments
ZurdoDev 8-Feb-12 14:25pm    
Just change your connection string when they pick something. Need a whole lot more details if you need more than this.
Shahin Khorshidnia 8-Feb-12 14:51pm    
Why don't you add your solution ?

You put both connection strings in your app.config and you change which one you use in the one place that you create connections in your code, based on this setting.
 
Share this answer
 
This is how I solved the problem:

string cs = "";

if (comboBox1.SelectedIndex == 0)
{
cs = @"server=JITC-PC\GEOINT;database=Production_GEOINT;integrated security=SSPI";
}
else if (comboBox1.SelectedIndex == 1)
{
cs = @"server=JITC-PC\GEOINT;database=DEV_GEOINT;integrated security=SSPI";
}


The button code looks like this:



private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}

Thanks,
Sharon
 
Share this answer
 
on your combobox event

C#
<pre lang="cs">private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                  if(combobox.selectedIndex=0)
                  {
                      string select=combobox.text;
                  }
if(combobox.selectedIndex=2)
                  {
                      string select=combobox.text;
                  }
            }


and then use the select variable in your connectionString...
 
Share this answer
 
thanks all for your help. Below low is how I fixed my problem:

string cs = "";

if (comboBox1.SelectedIndex == 0)
{
cs = @"server=JITC-PC\GEOINT;database=Production_GEOINT;integrated security=SSPI";
}
else if (comboBox1.SelectedIndex == 1)
{
cs = @"server=JITC-PC\GEOINT;database=DEV_GEOINT;integrated security=SSPI";
}


The button code looks like this:


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900