предотвратить дублирование данных из Excel в БД через Oledb c # - PullRequest
0 голосов
/ 15 мая 2019

У меня есть Excel, и я хочу загрузить только четыре столбца этого в таблицу SQL с помощью кнопки. Проблема в том, что когда я повторяю щелчок по кнопке, все эти данные будут дублироваться, но я этого не хочу. Я хочу, чтобы обновлялись только новые данные. Мой запрос:

protected void Button1_Click(object sender, EventArgs e)
    {
        int UserID;
        int InsuID;
        string Result;
        int Year;

        //** مسیر فایل اکسل**
        String ExcelPath = @"D:\Insu_lab.xlsx";

        //** کانکشن به آفیس**
        OleDbConnection mycon = new OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + ExcelPath + "; Extended Properties=Excel 8.0; Persist Security Info = False");
        mycon.Open();
        OleDbCommand cmd = new OleDbCommand("select * from [Sheet1$]", mycon);
        OleDbDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {

            UserID = Convert.ToInt32(dr[0].ToString());
            InsuID = Convert.ToInt32(dr[1].ToString());
            Result = dr[2].ToString();
            Year = Convert.ToInt32(dr[3].ToString());

            savedata(UserID, InsuID, Result, Year);
            Label1.Text = "اطلاعات با موفقیت در  دیتابیس ذخیره شد";

        }
    }

    private void savedata(int UserID, int InsuID, string Result, int Year)
    {
        String query = "insert into tbl_Result(UserID,InsuID,Result,Year) values(" + UserID + ",'" + InsuID + "','" + Result + "','" + Year + "') ";
        String mycon = "Data Source=MC6082; Initial Catalog=Insurance; Integrated Security=true";
        SqlConnection con = new SqlConnection(mycon);
        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.CommandText = query;
        cmd.Connection = con;
        cmd.ExecuteNonQuery();
    }

1 Ответ

0 голосов
/ 15 мая 2019

Решение 1: Когда вы clicked на button, эта (button) блокирует кнопку.

Button1.disable = true;

Когда экспорт завершен:

Button1.disable = false;

Решение 2: вы можете использовать из jquery ajax в этой части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...