0

これらのコードを使用して、別のサーバーから自分のサーバーにデータを手動で更新する方法が既にあります。

    protected void GridView1_RowCommand1(object sender, GridViewCommandEventArgs e)
    {
        try
        {
            int rowIndex = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = (sender as GridView).Rows[rowIndex];
            string strID = GridView1.DataKeys[row.RowIndex].Values[0].ToString();

            lblWO.Text = GridView1.Rows[row.RowIndex].Cells[1].Text.ToString();
            lblPN.Text = GridView1.Rows[row.RowIndex].Cells[9].Text.ToString();


            k();

            if (lblFLF.Text == "NO DATA FOUND")
            {
                btnSave.Visible = false;
                lblFLF.ForeColor = Color.Red;
                lblFLM.ForeColor = Color.Red;
                lblFWKG.ForeColor = Color.Red;
                lblFWLB.ForeColor = Color.Red;
                lblPieceNumber.ForeColor = Color.Red;
                lblFinalWO.ForeColor = Color.Red;
            }
            else
            {
                btnSave.Visible = true;
                lblStatus.Text = "";
                lblFLF.ForeColor = Color.Black;
                lblFLM.ForeColor = Color.Black;
                lblFWKG.ForeColor = Color.Black;
                lblFWLB.ForeColor = Color.Black;
                lblPieceNumber.ForeColor = Color.Black;
                lblFinalWO.ForeColor = Color.Black;
            }

        }
        catch (Exception) { }

    }

    protected void k()
    {

        SC = new SqlConnection(ConfigurationManager.ConnectionStrings["BABBLER"].ConnectionString);
        SC.Open();
        CMD = new SqlCommand("Select TOP(1) * from F564101D WHERE ZAWODES = '" + lblWO.Text + "' and ZAPIPLVER = '" + lblPN.Text + "'", SC);

        DR = CMD.ExecuteReader();

        if (DR.HasRows)
        {
            while (DR.Read())
            {
                lblFWLB.Text = (Convert.ToDouble(DR["ZAAWGT"]) / 1000).ToString();
                lblFWKG.Text =  System.Math.Round((Convert.ToDouble(lblFWLB.Text) * 0.453592), 0, MidpointRounding.AwayFromZero).ToString();
                lblFLM.Text = (Convert.ToDouble(DR["ZADILI"]) / 10000).ToString();
                lblFLF.Text = System.Math.Round((Convert.ToDouble(lblFLM.Text) * 0.00328084),1, MidpointRounding.AwayFromZero).ToString();
                lblPieceNumber.Text = Convert.ToDouble(DR["ZABSNN"]).ToString();
                lblFinalWO.Text = DR["ZAWTYPEDES"].ToString();

            }

        }
        else
        {
            lblFLF.Text = "NO DATA FOUND";
            lblFLM.Text = "NO DATA FOUND";
            lblFWKG.Text = "NO DATA FOUND";
            lblFWLB.Text = "NO DATA FOUND";
            lblFinalWO.Text = "NO DATA FOUND";
            lblPieceNumber.Text = "NO DATA FOUND";
        }
    }



    protected void btnSave_Click(object sender, EventArgs e)
    {
        try
        {
        if (lblFWKG.Text == "NO DATA FOUND")
        {
            lblStatus.Text = "Pipe is not yet saved in weighing";
        }
        else
        {
            string CS = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            using (SqlConnection con = new SqlConnection(CS))
            {
                string sqlQuery = "UPDATE LPM_QC_Pcard SET [WT_LBS] = @WT_LBS, [WT_KGS] = @WT_KGS, [LENGTH_FT] = @LENGTH_FT, [LENGTH_MM] = @LENGTH_MM, [MEMO_NO] = @MEMO_NO, [FWO_NO] = @FWO_NO, [PIECE_NO] = @PIECE_NO  WHERE [WO_NO] = @WO_NO and [PIPE_NO] = @PIPE_NO ";
                SqlCommand cmd = new SqlCommand(sqlQuery, con);


                cmd.Parameters.AddWithValue("@WT_LBS", lblFWLB.Text);
                cmd.Parameters.AddWithValue("@WT_KGS", lblFWKG.Text);
                cmd.Parameters.AddWithValue("@LENGTH_FT", lblFLF.Text);
                cmd.Parameters.AddWithValue("@LENGTH_MM", lblFLM.Text);
                cmd.Parameters.AddWithValue("@WO_NO", lblWO.Text);
                cmd.Parameters.AddWithValue("@MEMO_NO", txtMemo.Text);
                cmd.Parameters.AddWithValue("@PIPE_NO", lblPN.Text);
                cmd.Parameters.AddWithValue("@FWO_NO", lblFinalWO.Text);
                cmd.Parameters.AddWithValue("@PIECE_NO", lblPieceNumber.Text);


                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();



                lblStatus.Text = "Data Saved";
                lblStatus.ForeColor = System.Drawing.Color.Red;

                btnSave.Visible = false;

                lblFWKG.Text = "";
                lblFWLB.Text = "";
                lblFLM.Text = "";
                lblFLF.Text = "";
                lblPieceNumber.Text = "";
                lblFinalWO.Text = "";

                SqlDataSource1.SelectCommand = "Select * from LPM_QC_Pcard where WO_NO = '" + DropDownList1.Text + "'";

            }
        }
        }
        catch(Exception){}

これは、選択ボタンを押して、あるサーバーから別のサーバーにデータを手動で更新する作業コードです。これは、GridView1_RowCommand1生成されたデータを使用してマージしK()、別のサーバーでクエリを実行します。その後、保存button-btnSave_Clickを押すと、クエリされたデータが別のサーバーに保存されます。これでは、各ファイルを手動でクリックして結果を生成し、データを更新する必要があります。

自動更新ボタンを表示する方法はありますか? ループに関する投稿を読みましたが、問題が発生しました。

私を助けてください。ありがとうございました。

4

1 に答える 1

0

使用できますTimer

aTimer = new System.Timers.Timer(10000);
// Hook up the Elapsed event for the timer.
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 2000;
aTimer.Enabled = true;

private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
    btnSave_Click(btnSave, EventArgs.Empty);
}

ここから

于 2013-05-20T16:38:18.880 に答える