c# select sql server database based on combo box
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2

Thread: c# select sql server database based on combo box

Hybrid View

  1. #1
    Join Date
    Jan 2012
    Posts
    6

    c# select sql server database based on combo box

    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:

    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)
    {

    }

    }

    }

    thanks,
    Sharon
    Last edited by sharon.chapman7@gmail.com; February 9th, 2012 at 09:15 AM.

  2. #2
    DataMiser is offline Super Moderator Power Poster
    Join Date
    Jul 2008
    Location
    WV
    Posts
    4,788

    Re: c# select sql server database based on combo box

    You simply change the connection string in use.

    Code:
    string cs = @"server=JITC-PC\GEOINT;database=DEV_GEOINT;integrated security=SSPI";

    Ideally the connection strings should be stored in a config file rather than hard coded into your program so as to be able to make changes without having to rebuild the exe.
    Always use [code][/code] tags when posting code.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Azure Activities Information Page

Windows Mobile Development Center


Click Here to Expand Forum to Full Width

This is a CodeGuru survey question.


Featured


HTML5 Development Center