Aydotcom Ответов: 4

У меня есть проблема с сохранением в базе данных


Я разрабатываю решение, которое имеет master и addEmployee в виде таблицы и формы соответственно. Решение сохранит данные в master с помощью формы addEmployee. Решение использует C# и базы данных sql2008 в качестве бэк-конец. После компиляции решения бэк-энд не имеет никаких данных, и я получаю ошибку "
Additional information: The connection was not closed. The connection's current state is open.
- Пожалуйста, кто-нибудь может мне помочь?

Что я уже пробовал:

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;


namespace FHAMortgageBank
{
    public partial class Add_Employee : Form
    {
        SqlConnection con = new SqlConnection("Data Source=AKINTOMIDE-HP\\SQLEXPRESS;Initial Catalog=fham;Integrated Security=True");
        SqlCommand cmd;
        SqlDataAdapter adapt;
        private DataViewManager dviewmanager;
        //ID variable used in Updating and Deleting Record  
        int SN = 0;

        public Add_Employee()
        {
            InitializeComponent();
            ClearData();// Method
            FillBank();
            FillStatus();
            FillPenAdmin();
            FillYear();
            FillGrade();
            FillDpt();
        }

        private void frmMain_Enter(object sender, EventArgs e)
        {

        }

        private void BntSave_Click(object sender, EventArgs e)
        {

            if (this.txteid.Text != "" && txtStaf.Text != "")
            {

                con.Open();
                cmd = new SqlCommand("insert into master (eid,mon,yr,dat,staf,adrs,coy,loc,dpt,grd,datead,datemod,bsal,tran,hous,lunc,uti,furn,harz,educ,housM,dres,risk,veh,driv,dome,pfs,nhf,nhfs,nhis,oded,otherpay,housU,dressU,staffM,Thrift,accno,bank,email,penadmin,pennum,status,dupfront,picstaffpix) values(@eid,@mon,@yr,@dat,@staf,@adrs,@coy,@loc,@dpt,@grd,@datead,@datemod,@bsal,@tran,@hous,@lunc,@uti,@furn,@harz,@educ,@housM,@dres,@risk,@veh,@driv,@dome,@pfs,@nhf,@nhfs,@nhis,@oded,@otherpay,@housU,@dressU,@staffM,@Thrift,@accno,@bank,@email,@penadmin,@pennum,@status,@dupfront,@picstaffpix)", con);
                cmd.Parameters.AddWithValue("@eid", txteid.Text);
                cmd.Parameters.AddWithValue("@mon", cmbMon.Text);
                cmd.Parameters.AddWithValue("@yr", cmbYr.Text);
                cmd.Parameters.AddWithValue("@dat", SqlDbType.Date);
                cmd.Parameters.AddWithValue("@datead", SqlDbType.DateTime);
                cmd.Parameters.AddWithValue("@datemod", SqlDbType.DateTime);
                cmd.Parameters.AddWithValue("@staf", txtStaf.Text);
                cmd.Parameters.AddWithValue("@adrs", txtAdrs);
                cmd.Parameters.AddWithValue("@coy", txtCoy.Text);
                cmd.Parameters.AddWithValue("@dpt", cmbDpt.Text);
                cmd.Parameters.AddWithValue("@loc", cmbLoc.Text);
                cmd.Parameters.AddWithValue("@grd", CmbGrd.Text);
                cmd.Parameters.AddWithValue("@accno", TxtAccno.Text);
                cmd.Parameters.AddWithValue("@email", txtemail.Text);
                cmd.Parameters.AddWithValue("@picstaffpix", picStafPix);
                cmd.Parameters.AddWithValue("@bank", cmbBank.Text);
                cmd.Parameters.AddWithValue("@penadmin", cmbPenAdmin.Text);
                cmd.Parameters.AddWithValue("@status", cmbStatus.Text);
                cmd.Parameters.AddWithValue("@pennum", txtPenNum.Text);
                cmd.Parameters.AddWithValue("@basl", txtBSal.Text);
                cmd.Parameters.AddWithValue("@dres", txtDres.Text);
                cmd.Parameters.AddWithValue("@dupfront", txtDUpfront.Text);
                cmd.Parameters.AddWithValue("@educ", txtEduc.Text);
                cmd.Parameters.AddWithValue("@furn", txtFurn.Text);
                cmd.Parameters.AddWithValue("@harz", txtHarz.Text);
                cmd.Parameters.AddWithValue("@tran", txtTran.Text);
                cmd.Parameters.AddWithValue("@hous", txtHous.Text);
                cmd.Parameters.AddWithValue("@lunc", txtLunc.Text);
                cmd.Parameters.AddWithValue("@uti", txtUti.Text);
                cmd.Parameters.AddWithValue("@housM", txtHousM.Text);
                cmd.Parameters.AddWithValue("@risk", txtRisk.Text);
                cmd.Parameters.AddWithValue("@veh", txtVeh.Text);
                cmd.Parameters.AddWithValue("@pfs", txtPfS.Text);
                cmd.Parameters.AddWithValue("@nhf", txtNHF.Text);
                cmd.Parameters.AddWithValue("@nhfs", txtNHFS.Text);
               cmd.Parameters.AddWithValue("@oded", txtOded.Text);
                cmd.Parameters.AddWithValue("@pens", txtPens.Text);
                cmd.Parameters.AddWithValue("@PAYE", txtPAYE.Text);
                cmd.Parameters.AddWithValue("@tded", txtTDed.Text);
                cmd.Parameters.AddWithValue("@driv", txtDriv.Text);
                cmd.Parameters.AddWithValue("@dome", txtDome.Text);
                cmd.Parameters.AddWithValue("@tpay", txtTPay.Text);
                cmd.Parameters.AddWithValue("@npay", txtNPay.Text);
                cmd.Parameters.AddWithValue("@housU", this.txtHousU.Text);
                cmd.Parameters.AddWithValue("@housM", this.txtHousM.Text);
                cmd.Parameters.AddWithValue("@staffM", this.txtStaffM.Text);
                cmd.Parameters.AddWithValue("@thrift", this.txtThrift.Text);
                cmd.ExecuteNonQuery();
                con.Close();

                MessageBox.Show("Record Inserted Successfully");
                ClearData();
            }
            else
            {
                MessageBox.Show("Please Provide Details!");
            }
            if (this.txteid.Text != "" && txtStaf.Text != "")
            //if (this.txtStatus.Text == "")
            {
                MessageBox.Show("Please provide Status");
                return;
            }

        }

        private void DisplayData()
        {
            
        }

       // Clear Data  
        private void ClearData()
        {
           txteid.Text = "FHA136";
            txtStaf.Text = "Akintomide Ayodele";
            txtAdrs.Text = "39 Durban Street, Wuse II, Abuja";
            txtCoy.Text = "FHA Homes Ltd";
            TxtAccno.Text = "11234567";
            txtemail.Text = "info@fhamortgage.gov.ng";
            txtBSal.Text = "0";
            txtDres.Text = "0";
            txtDUpfront.Text = "0";
            txtEduc.Text = "0";
            txtFurn.Text = "0";
            txtHarz.Text = "0";
            txtHous.Text = "0";
            txtHousM.Text = "0";
            txtHousU.Text = "0";
            txtLunc.Text = "0";
            txtNHF.Text = "0";
            txtNHFS.Text = "0";
            txtOded.Text = "0";
            txtOtherPay.Text = "0";
            txtPenNum.Text="pen1234";
            txtPAYE.Text = "0";
            txtPens.Text = "0";
            txtPfS.Text = "0";
            txtRisk.Text = "0";
            txtStaffM.Text = "0";
            txtThrift.Text = "0";
            txtTran.Text = "0";
            txtUti.Text = "0";
            txtVeh.Text = "0";
          //  picStafPix.Image ="" ;
            //picStafPix.imag= Image.FromFile(open.yinka);
            datAd.Text = DateTime.Now.Date.ToShortDateString();
            DatMod.Text = DateTime.Now.Date.ToShortDateString();
            datEmp.Text = DateTime.Now.Date.ToShortDateString();
            cmbBank.Text = "United Bank of Africa";
            cmbDpt.Text = "Operations";
            CmbGrd.Text = "Banking Officer";
            cmbLoc.Text = "Abuja";
            cmbMon.Text = DateTime.Now.Date.ToShortDateString();
            cmbPenAdmin.Text = "Crusader";
            cmbStatus.Text = "staff";
            cmbYr.Text = DateTime.Now.Date.ToShortDateString();
            txtTDed.Text = "0";
            txtDriv.Text = "0";
            txtDome.Text= "0";
            txtTPay.Text = "0";
            txtNPay.Text= "0";
            SN = 0;
         }


        //New Record  
        private void New_Rec()
        {
            
        }

        private void Add_Employee_Load(object sender, EventArgs e)
        {
            //FillBank();
            //FillStatus();
            //FillPenAdmin();
            //FillYear();
            //FillGrade();
            //FillDpt();
           
           
{

                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }

                string sqlLoc = "SELECT * FROM Location";
                var lAdapter = new SqlDataAdapter(sqlLoc, con);
                var lset = new DataSet();
                lAdapter.TableMappings.Add("Table", "Location");
                lAdapter.Fill(lset);
                this.dviewmanager = lset.DefaultViewManager;
       try
                {

                    for (int i = 0; i <= lset.Tables[0].Rows.Count - 1; i++)
                    {
                        this.cmbLoc.Items.Add(lset.Tables[0].Rows[i]["Location"].ToString());
                    }
                }
                catch (Exception exl)
                {

                }
                this.cmbMon.Items.Add("January");
                this.cmbMon.Items.Add("February");
                this.cmbMon.Items.Add("March");
                this.cmbMon.Items.Add("April");
                this.cmbMon.Items.Add("May");
                this.cmbMon.Items.Add("June");
                this.cmbMon.Items.Add("July");
                this.cmbMon.Items.Add("August");
                this.cmbMon.Items.Add("September");
                this.cmbMon.Items.Add("October");
                this.cmbMon.Items.Add("November");
                this.cmbMon.Items.Add("December");

            }
        }

        protected void FillBank()
        {

            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }

            string sqlStr = "SELECT * FROM BANK";
            var dAdapter = new SqlDataAdapter(sqlStr, con);
            var dset = new DataSet();
            dAdapter.TableMappings.Add("Table", "Bank");
            dAdapter.Fill(dset);
            this.dviewmanager = dset.DefaultViewManager;
            try
            {

                for (int i = 0; i <= dset.Tables[0].Rows.Count - 1; i++)
                {
                    this.cmbBank.Items.Add(dset.Tables[0].Rows[i]["Bank"].ToString());

                }


            }
            catch (Exception ex)
            {
                //Exception Message
            }
        }
        protected void FillDpt()
        {

            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }

            string sqlStr = "SELECT * FROM Dpt";
            var dAdapter = new SqlDataAdapter(sqlStr, con);
            var dset = new DataSet();
            dAdapter.TableMappings.Add("Table", "Dpt");
            dAdapter.Fill(dset);
            this.dviewmanager = dset.DefaultViewManager;
            try
            {

                for (int i = 0; i <= dset.Tables[0].Rows.Count - 1; i++)
                {
                    this.cmbDpt.Items.Add(dset.Tables[0].Rows[i]["Dpt"].ToString());

                }


            }
            catch (Exception ex)
            {
                //Exception Message
            }
        }
        protected void FillYear()
        {

            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }

            string sqlStr = "SELECT * FROM Year";
            var dAdapter = new SqlDataAdapter(sqlStr, con);
            var dset = new DataSet();
            dAdapter.TableMappings.Add("Table", "Year");
            dAdapter.Fill(dset);
            this.dviewmanager = dset.DefaultViewManager;
            try
            {

                for (int i = 0; i <= dset.Tables[0].Rows.Count - 1; i++)
                {
                    this.cmbYr.Items.Add(dset.Tables[0].Rows[i]["Year"].ToString());

                }


            }
            catch (Exception ex)
            {
                //Exception Message
            }
        }
        protected void FillGrade()
        {

            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }

            string sqlStr = "SELECT * FROM Grade";
            var dAdapter = new SqlDataAdapter(sqlStr, con);
            var dset = new DataSet();
            dAdapter.TableMappings.Add("Table", "Grade");
            dAdapter.Fill(dset);
            this.dviewmanager = dset.DefaultViewManager;
            try
            {

                for (int i = 0; i <= dset.Tables[0].Rows.Count - 1; i++)
                {
                    this.CmbGrd.Items.Add(dset.Tables[0].Rows[i]["Grade"].ToString());

                }


            }
            catch (Exception ex)
            {
                //Exception Message
            }
        }
        protected void FillStatus()
        {

            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }

            string sqlStr = "SELECT * FROM Status";
            var dAdapter = new SqlDataAdapter(sqlStr, con);
            var dset = new DataSet();
            dAdapter.TableMappings.Add("Table", "Status");
            dAdapter.Fill(dset);
            this.dviewmanager = dset.DefaultViewManager;
            try
            {

                for (int i = 0; i <= dset.Tables[0].Rows.Count - 1; i++)
                {
                    this.cmbStatus.Items.Add(dset.Tables[0].Rows[i]["Status"].ToString());


                }


            }
            catch (Exception ex)
            {
                //Exception Message
            }
        }
        protected void FillPenAdmin()
        {

            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }

            string sqlStr = "SELECT * FROM PenAdmin";
            var dAdapter = new SqlDataAdapter(sqlStr, con);
            var dset = new DataSet();
            dAdapter.TableMappings.Add("Table", "PenAdmin");
            dAdapter.Fill(dset);
            this.dviewmanager = dset.DefaultViewManager;
            try
            {

                for (int i = 0; i <= dset.Tables[0].Rows.Count - 1; i++)
                {
                    this.cmbPenAdmin.Items.Add(dset.Tables[0].Rows[i]["PenAdmin"].ToString());


                }


            }
            catch (Exception ex)
            {
                //Exception Message
            }
        }

        
        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void label14_Click(object sender, EventArgs e)
        {

        }

        private void frmTpay_Enter(object sender, EventArgs e)
        {

        }

        private void txtHousU_TextChanged(object sender, EventArgs e)
        {

        }

        private void label33_Click(object sender, EventArgs e)
        {

        }

        private void txtStaffM_TextChanged(object sender, EventArgs e)
        {

        }

        private void txtPAYE_TextChanged(object sender, EventArgs e)
        {

        }

        private void datEmp_ValueChanged(object sender, EventArgs e)
        {
            //// Set title bar to selected date.
            //DateTime result = dateTimePicker1.Value;
            //this.Text = result.ToString();
        }

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

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            




        }

        private void picStafPix_Click(object sender, EventArgs e)
        {
            //this.picStafPix.Image = Image.FromFile(@"Images\a.bmp");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // open file dialog   
            OpenFileDialog open = new OpenFileDialog();
            // image filters  
            open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp";
            if (open.ShowDialog() == DialogResult.OK)
            {
                // display image in picture box  
                this.picStafPix.Image = new Bitmap(open.FileName);
                // image file path  
                textBox1.Text = open.FileName;

            }
        }
    }
}

4 Ответов

Рейтинг:
28

Karthik_Mahalingam

Не используйте объект подключения глобально, вместо этого объявите только строку подключения или прочитайте ее из конфигурационного файла. Это позволит избежать проблем с состоянием соединения

private string conString = "Your Connection string";

private void Method1()
       {
           using (SqlConnection con = new SqlConnection(conString))
           {
               con.Open();
               // your code
               con.Close();
           }
       }
       private void Method2()
       {
           using (SqlConnection con = new SqlConnection(conString))
           {
               con.Open();
               // your code
               con.Close();
           }
       }

редактировать: обновлен основе Ричарда [^] комментарий


Richard Deeming

Вы, вероятно, захотите обернуть эти соединения в using и блоки тоже. :)

Karthik_Mahalingam

обновленный :)

Рейтинг:
26

Atlapure Ambrish

Код операции базы данных должен быть заключен в блок try..catch, а вы должны закрыть и утилизировать свое соединение в блоке "finally". Это гарантирует, что ваше соединение будет закрыто, даже если в вашем коде есть исключение.

В качестве альтернативы вы можете использовать блок "using" с подключением.

Google даст вам много примеров, дайте мне знать, если вы не найдете.


Рейтинг:
20

Vaidhya.P

Чтобы решить эту проблему идите шаг за шагом:

1. после выполнения команд sql закройте соединение sql в следующей строке, так как вы используете соединения и в других методах.

Это решит вашу текущую проблему "соединение уже открыто проблема будет решена, когда вы используете con. close ();".

2. Это всегда лучше, чтобы использовать try catch и finally и Кон.закрыть() внутри, наконец, станет лучше заниматься.

Я говорю, чтобы положить внутрь, наконец, потому что если мы поместим близкое соединение внутри try, то во время исключительных ситуаций соединение не будет закрыто, и мы должны снова поместить его внутри оператора catch. Так что лучше иметь, наконец, и закрыть соединение с SQL внутри наконец

3. Переместите строку подключения в web.config и использовать диспетчер конфигурации, чтобы получить строку подключения. -- это просто лучшая практика.


4.я бы рекомендовал вам использовать Entity Framework, если это новая реализация, потому что вам понравится писать код с помощью LINQ, который использует команды sql.


Попробуйте все вышеперечисленное и дайте мне знать, если вам понадобится что-нибудь еще, кроме этого !!!


Рейтинг:
12

CyberSaint

Использование инструкции using ... а внутри него откройте соединение и закройте его, чтобы оно не давало вам ошибки вашего получения .. Когда вы открываете соединение без использования или пробуете поймать его, он остается открытым, не утилизируется должным образом, что вызывает проблему, я надеюсь, вы попробуете это сделать ..

namespace FHAMortgageBank
{
    public partial class Add_Employee : Form
    {
      // can use connection from the web configuration which is far better than this ... 
      // can give the simple string 
        string constring = "path" or Webconfiguration add..
        SqlConnection con = new SqlConnection("Data Source=AKINTOMIDE-HP\\SQLEXPRESS;Initial Catalog=fham;Integrated Security=True");
        SqlCommand cmd;
        SqlDataAdapter adapt;
        private DataViewManager dviewmanager;
        //ID variable used in Updating and Deleting Record  
        int SN = 0;
 
        public Add_Employee()
        {
            InitializeComponent();
            ClearData();// Method
            FillBank();
            FillStatus();
            FillPenAdmin();
            FillYear();
            FillGrade();
            FillDpt();
        }
 
        private void frmMain_Enter(object sender, EventArgs e)
        {
 
        }
 
        private void BntSave_Click(object sender, EventArgs e)
        {
            using (sqlconnection con = new sqlconnection (Constring );
{
        // can also take the using for sqlcommand  inside of it..rest is same as you did
            if (this.txteid.Text != "" && txtStaf.Text != "")
            {
 
                con.Open();
                cmd = new SqlCommand("insert into master (eid,mon,yr,dat,staf,adrs,coy,loc,dpt,grd,datead,datemod,bsal,tran,hous,lunc,uti,furn,harz,educ,housM,dres,risk,veh,driv,dome,pfs,nhf,nhfs,nhis,oded,otherpay,housU,dressU,staffM,Thrift,accno,bank,email,penadmin,pennum,status,dupfront,picstaffpix) values(@eid,@mon,@yr,@dat,@staf,@adrs,@coy,@loc,@dpt,@grd,@datead,@datemod,@bsal,@tran,@hous,@lunc,@uti,@furn,@harz,@educ,@housM,@dres,@risk,@veh,@driv,@dome,@pfs,@nhf,@nhfs,@nhis,@oded,@otherpay,@housU,@dressU,@staffM,@Thrift,@accno,@bank,@email,@penadmin,@pennum,@status,@dupfront,@picstaffpix)", con);
                cmd.Parameters.AddWithValue("@eid", txteid.Text);
                cmd.Parameters.AddWithValue("@mon", cmbMon.Text);
                cmd.Parameters.AddWithValue("@yr", cmbYr.Text);
                cmd.Parameters.AddWithValue("@dat", SqlDbType.Date);
                cmd.Parameters.AddWithValue("@datead", SqlDbType.DateTime);
                cmd.Parameters.AddWithValue("@datemod", SqlDbType.DateTime);
                cmd.Parameters.AddWithValue("@staf", txtStaf.Text);
                cmd.Parameters.AddWithValue("@adrs", txtAdrs);
                cmd.Parameters.AddWithValue("@coy", txtCoy.Text);
                cmd.Parameters.AddWithValue("@dpt", cmbDpt.Text);
                cmd.Parameters.AddWithValue("@loc", cmbLoc.Text);
                cmd.Parameters.AddWithValue("@grd", CmbGrd.Text);
                cmd.Parameters.AddWithValue("@accno", TxtAccno.Text);
                cmd.Parameters.AddWithValue("@email", txtemail.Text);
                cmd.Parameters.AddWithValue("@picstaffpix", picStafPix);
                cmd.Parameters.AddWithValue("@bank", cmbBank.Text);
                cmd.Parameters.AddWithValue("@penadmin", cmbPenAdmin.Text);
                cmd.Parameters.AddWithValue("@status", cmbStatus.Text);
                cmd.Parameters.AddWithValue("@pennum", txtPenNum.Text);
                cmd.Parameters.AddWithValue("@basl", txtBSal.Text);
                cmd.Parameters.AddWithValue("@dres", txtDres.Text);
                cmd.Parameters.AddWithValue("@dupfront", txtDUpfront.Text);
                cmd.Parameters.AddWithValue("@educ", txtEduc.Text);
                cmd.Parameters.AddWithValue("@furn", txtFurn.Text);
                cmd.Parameters.AddWithValue("@harz", txtHarz.Text);
                cmd.Parameters.AddWithValue("@tran", txtTran.Text);
                cmd.Parameters.AddWithValue("@hous", txtHous.Text);
                cmd.Parameters.AddWithValue("@lunc", txtLunc.Text);
                cmd.Parameters.AddWithValue("@uti", txtUti.Text);
                cmd.Parameters.AddWithValue("@housM", txtHousM.Text);
                cmd.Parameters.AddWithValue("@risk", txtRisk.Text);
                cmd.Parameters.AddWithValue("@veh", txtVeh.Text);
                cmd.Parameters.AddWithValue("@pfs", txtPfS.Text);
                cmd.Parameters.AddWithValue("@nhf", txtNHF.Text);
                cmd.Parameters.AddWithValue("@nhfs", txtNHFS.Text);
               cmd.Parameters.AddWithValue("@oded", txtOded.Text);
                cmd.Parameters.AddWithValue("@pens", txtPens.Text);
                cmd.Parameters.AddWithValue("@PAYE", txtPAYE.Text);
                cmd.Parameters.AddWithValue("@tded", txtTDed.Text);
                cmd.Parameters.AddWithValue("@driv", txtDriv.Text);
                cmd.Parameters.AddWithValue("@dome", txtDome.Text);
                cmd.Parameters.AddWithValue("@tpay", txtTPay.Text);
                cmd.Parameters.AddWithValue("@npay", txtNPay.Text);
                cmd.Parameters.AddWithValue("@housU", this.txtHousU.Text);
                cmd.Parameters.AddWithValue("@housM", this.txtHousM.Text);
                cmd.Parameters.AddWithValue("@staffM", this.txtStaffM.Text);
                cmd.Parameters.AddWithValue("@thrift", this.txtThrift.Text);
                cmd.ExecuteNonQuery();
                con.Close();
}
 
                MessageBox.Show("Record Inserted Successfully");
                ClearData();
            }
            else
            {
                MessageBox.Show("Please Provide Details!");
            }
            if (this.txteid.Text != "" && txtStaf.Text != "")
            //if (this.txtStatus.Text == "")
            {
                MessageBox.Show("Please provide Status");
                return;
            }
 
        }

более того, примите этот подход ,и вы больше не получите такой ошибки... это сработает .


Aydotcom

Спасибо за помощь, однако я все равно получил сообщение об ошибке "необработанное исключение типа 'System.ArgumentException ' произошло в System.Data.dll

Дополнительная информация: отображение из системы типов объектов не существует.Окна.Формы.Текстовое поле для известного управляемого поставщика собственного типа"

Пожалуйста помочь

Aydotcom

Спасибо за помощь . После модификации со следующим кодом я получаю ошибку "необработанное исключение типа' System.ArgumentException ' произошло в System.Data.dll

Дополнительная информация: формат строки инициализации не соответствует спецификации, начинающейся с индекса 0.". Пожалуйста помочь

пространство имен FHAMortgageBank
{
общественный разделяемого класса Add_Employee : форма
{
// может использовать соединение из веб-конфигурации, которая намного лучше, чем эта ...
// может дать простую строку
//string constring = "path" или webconfiguration add..;
string constring = " путь";
Объект sqlconnection кон = новое sqlconnection("источник данных=AKINTOMIDE-ХП\\именем sqlexpress;начальный каталог=fham;Комплексная безопасность=истина");
Команда sqlcommand cmd в;
SqlDataAdapter adapt;
частный DataViewManager dviewmanager;
/Переменная / ID, используемая при обновлении и удалении записи
int SN = 0;

общественные Add_Employee()
{
метод InitializeComponent();
ClearData (); / / Метод
Филлбанк();
FillStatus();
FillPenAdmin();
Филлиер();
FillGrade();
FillDpt();

//New_Rec();
// label1.Text = strTextBox;

//listPB = новый список<picturebox>();
//chkBoxList = новый список & lt;checkbox>();
//// Объявить строку подключения
//str = " источник данных=MYPC;начальный каталог=myDB;Интегрированная безопасность=True";
//// Инициализировать список
//listPB. Add(pictureBox1);
//listPB. Add(pictureBox2);
//listPB. Add(pictureBox3);
//listPB. Add(pictureBox4);
//chkBoxList. Add(chkpicture1);
//chkBoxList. Add(chkpicture2);
//chkBoxList. Add(chkpicture3);
//chkBoxList. Add(chkpicture4);
// Получить Подключение К Базе Данных
//_conn = new SqlConnection ("источник данных=XEON;" +
// "начальный каталог=Northwind;" +
// "идентификатор пользователя=sa;пароль=менеджер;");
}

частная frmMain_Enter недействительным(объект отправителя, EventArgs в электронной)
{

}




//общественных мыши frmmain()
//{
// Метод initializecomponent();
// DisplayData();
//}

частная BntSave_Click недействительным(объект отправителя, EventArgs в электронной)
{

using (SqlConnection con = new SqlConnection(constring)) ;
{
/ также можете воспользоваться помощью для sqlcommand внутри него..остальное же, как вы делали
если (это.txteid.Текст != "" & & amp; txtStaf.Текст! = "")
{

против.Открыть();

cmd = new SqlCommand ("insert into master (eid,mon,yr,dat,staf,adrs,coy,loc,dpt,grd,datead,datemod,bsal,tran,hous,lunc,uti,furn,harz,educ,housM,dres,risk,veh,driv,dome,pfs,nhf,nhfs,nhis,oded,otherpay,housU,dressU,staffM,Thrift,accno,bank,email,penadmin,pennum,status,dupfront,picstaffpix) values(@eid,@mon,@yr,@dat,@staf,@adrs,@coy,@loc,@dpt,@grd,@datead,@datemod,@bsal,@tran,@hous,@lunc,@uti,@furn,@harz,@educ,@housM,@dres,@risk,@veh,@driv,@dome,@pfs,@nhf,@nhfs,@nhis,@oded,@otherpay,@housU,@dressU,@staffM,@Thrift,@accno,@bank,@email,@penadmin,@pennum,@status,@dupfront,@picstaffpix)", кон);
УМК.Параметры.AddWithValue ("@eid", txteid. Text);
УМК.Параметры.AddWithValue ("@mon", cmbMon. Text);
УМК.Параметры.AddWithValue ("@yr", cmbYr. Text);
УМК.Параметры.AddWithValue ("@dat", SqlDbType. Date);
УМК.Параметры.AddWithValue ("@datead", SqlDbType. DateTime);
УМК.Параметры.AddWithValue ("@datemod", SqlDbType. DateTime);
УМК.Параметры.AddWithValue ("@staf", txtStaf. Text);
УМК.Параметры.AddWithValue ("@adrs", txtAdrs);
УМК.Параметры.AddWithValue ("@coy", txtC