• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 266
  • Last Modified:

C Sharp

Hi Guys ,

I have finished building my first windows form application with C# and now I don't know how to continue and make it works for users.

I used visual studio when I built this app and when I copy the solution to the user computer and launch the EXE file all works fine but I'm sure this is not the way to do it.

Another things I have to mention that the application database located in the SQL server and I have pointed the application to my SQL server by String code

Please can you direct me how to compile my application as a production app ....I hope you understand my question as I really new with programming.


Thanks ,
0
Moti Mashiah
Asked:
Moti Mashiah
  • 2
  • 2
3 Solutions
 
Naman GoelCommented:
You need to compile your project in Release and package it with some installer,

http://www.dreamincode.net/forums/topic/58021-deploying-a-c%23-application-visual-studio-setup-project/

for connection string you can use some sort of Application config file


Start with: http://msdn.microsoft.com/en-us/library/1xtk877y.aspx. For connection string-specific information, please see: http://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx

At its simplest, the app.config is an XML file with built-in configuration sections and the ability to add your own custom settings. Custom settings can be added by using the built-in configuration sections (such as connectionStrings) or adding your own custom configuration sections (an advanced topic, but very powerful for building strongly-typed configuration files).

Web applications typically have a web.config, while Windows GUI/service applications have an app.config file.

Application config files inherit settings from global configuration files, e.g. the machine.config.
Reading from the App.Config

Connection strings have a pre-defined schema that you can use. Note that this small snippet is actually a valid app.config (or web.config) file:

<?xml version="1.0"?>
<configuration>
    <connectionStrings>  
        <add name="MyKey"
             connectionString="Data Source=localhost;Initial Catalog=ABC;"
             providerName="System.Data.SqlClient"/>
    </connectionStrings>
</configuration>

Once you have defined your app.config, you can read it in code using the ConfigurationManager class. Don't be intimidated by the verbose MSDN examples; it's actually quite simple.

string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;

Writing to the App.Config

Frequently changing the *.config files is usually not a good idea, but it sounds like you only want to perform one-time setup.

See: Change connection string & reload app.config at run time which describes how to update the connectionStrings section of the *.config file at runtime.

Note that ideally you would perform such configuration changes from a simple installer.
0
 
Moti MashiahAuthor Commented:
Regarding the Connection I did not configure any connection in app.config file al I did during the implementation is in any class or form I wrote string to my database server:

See example:

namespace Alt8
{

    public partial class frmLogin : Form
    {

        public frmLogin()
        {
            InitializeComponent();
            txtpass_Login.PasswordChar = '*';
            txtpass_Login.MaxLength = 12;  
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string Conn = "Data Source=srv-db-02;Initial Catalog=rmsmasterdbtest;Persist Security Info=True;User ID=test;Password=masterB4";
                SqlConnection Myconn = new SqlConnection(Conn);
                SqlCommand SelectCommand = new SqlCommand("select * from rmsmasterdbtest.dbo.UserLogin where Fname='" + this.txtUsernamelogin.Text + "' and passw='" + this.txtpass_Login.Text + "' ;", Myconn);

                SqlDataReader reader;
                Myconn.Open();
                reader = SelectCommand.ExecuteReader();
                int count = 0;
                while (reader.Read())
                {
                    count = count + 1;
                }
                if (count == 1)
                {
                    this.Hide();
                    frmMainmanu f2 = new frmMainmanu("Welcome," +txtUsernamelogin.Text);
                    f2.ShowDialog();
                }
                else if (count > 1)
                {
                    MessageBox.Show("Duplicate username and password.....access denied");
                }
                else
                    MessageBox.Show("Username and Password is Not Correct");
                Myconn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
0
 
Naman GoelCommented:
In any ways the database should be there in customer environment, so either you can create a database using your installer program, so in that case you need to ask user for username and password for accessing that database

following article explains about creating database programmatically

http://support.microsoft.com/kb/305079

can need to pass that details in connection string in your class.
0
 
Moti MashiahAuthor Commented:
Thank for really great help
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now