%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 122.154.253.140 / Your IP : 216.73.216.34 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files (x86)/MySQL/Connector.NET 6.9/Samples/Async/cs/ |
Upload File : |
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using MySql.Data.MySqlClient;
namespace Async
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TextBox nonQueryOutput;
private System.Windows.Forms.Button nonQueryGo;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox server;
private System.Windows.Forms.TextBox uid;
private System.Windows.Forms.TextBox pwd;
private System.Windows.Forms.TextBox database;
private System.Windows.Forms.Timer timer1;
private System.ComponentModel.IContainer components;
private MySqlConnection conn;
private MySqlCommand cmd;
private int nextTime;
private IAsyncResult asyncResult;
private DateTime start;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.database = new System.Windows.Forms.TextBox();
this.pwd = new System.Windows.Forms.TextBox();
this.uid = new System.Windows.Forms.TextBox();
this.server = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.nonQueryGo = new System.Windows.Forms.Button();
this.nonQueryOutput = new System.Windows.Forms.TextBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.tabControl1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tabPage1.SuspendLayout();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(504, 370);
this.tabControl1.TabIndex = 0;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.database);
this.tabPage2.Controls.Add(this.pwd);
this.tabPage2.Controls.Add(this.uid);
this.tabPage2.Controls.Add(this.server);
this.tabPage2.Controls.Add(this.label4);
this.tabPage2.Controls.Add(this.label3);
this.tabPage2.Controls.Add(this.label2);
this.tabPage2.Controls.Add(this.label1);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Size = new System.Drawing.Size(496, 344);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Configuration";
//
// database
//
this.database.Location = new System.Drawing.Point(116, 128);
this.database.Name = "database";
this.database.Size = new System.Drawing.Size(228, 20);
this.database.TabIndex = 7;
this.database.Text = "";
//
// pwd
//
this.pwd.Location = new System.Drawing.Point(116, 92);
this.pwd.Name = "pwd";
this.pwd.Size = new System.Drawing.Size(228, 20);
this.pwd.TabIndex = 6;
this.pwd.Text = "";
//
// uid
//
this.uid.Location = new System.Drawing.Point(116, 56);
this.uid.Name = "uid";
this.uid.Size = new System.Drawing.Size(228, 20);
this.uid.TabIndex = 5;
this.uid.Text = "";
//
// server
//
this.server.Location = new System.Drawing.Point(116, 20);
this.server.Name = "server";
this.server.Size = new System.Drawing.Size(228, 20);
this.server.TabIndex = 4;
this.server.Text = "";
//
// label4
//
this.label4.Location = new System.Drawing.Point(16, 128);
this.label4.Name = "label4";
this.label4.TabIndex = 3;
this.label4.Text = "Database:";
//
// label3
//
this.label3.Location = new System.Drawing.Point(16, 92);
this.label3.Name = "label3";
this.label3.TabIndex = 2;
this.label3.Text = "Password:";
//
// label2
//
this.label2.Location = new System.Drawing.Point(16, 56);
this.label2.Name = "label2";
this.label2.TabIndex = 1;
this.label2.Text = "User Id:";
//
// label1
//
this.label1.Location = new System.Drawing.Point(16, 20);
this.label1.Name = "label1";
this.label1.TabIndex = 0;
this.label1.Text = "Server/Host:";
//
// tabPage1
//
this.tabPage1.Controls.Add(this.nonQueryGo);
this.tabPage1.Controls.Add(this.nonQueryOutput);
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Size = new System.Drawing.Size(496, 344);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "NonQuery";
//
// nonQueryGo
//
this.nonQueryGo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.nonQueryGo.Location = new System.Drawing.Point(404, 312);
this.nonQueryGo.Name = "nonQueryGo";
this.nonQueryGo.TabIndex = 1;
this.nonQueryGo.Text = "Go";
this.nonQueryGo.Click += new System.EventHandler(this.nonQueryGo_Click);
//
// nonQueryOutput
//
this.nonQueryOutput.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.nonQueryOutput.Location = new System.Drawing.Point(12, 36);
this.nonQueryOutput.Multiline = true;
this.nonQueryOutput.Name = "nonQueryOutput";
this.nonQueryOutput.Size = new System.Drawing.Size(468, 268);
this.nonQueryOutput.TabIndex = 0;
this.nonQueryOutput.Text = "";
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(504, 370);
this.Controls.Add(this.tabControl1);
this.Name = "Form1";
this.Text = "Form1";
this.tabControl1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void nonQueryGo_Click(object sender, System.EventArgs e)
{
string connStr = String.Format("server={0};uid={1};pwd={2};database={3}",
server.Text, uid.Text, pwd.Text, database.Text);
conn = new MySqlConnection(connStr);
try
{
conn.Open();
string sql = "DROP TABLE IF EXISTS AsyncSampleTable; CREATE TABLE AsyncSampleTable (numVal int)";
cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQuery();
sql = "DROP PROCEDURE IF EXISTS AsyncSample;" +
"CREATE PROCEDURE AsyncSample() BEGIN " +
"set @x=0; repeat set @x=@x+1; until @x > 5000000 end repeat; " +
"INSERT INTO AsyncSampleTable VALUES (1); end;";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
cmd.CommandText = "AsyncSample";
cmd.CommandType = CommandType.StoredProcedure;
asyncResult = cmd.BeginExecuteNonQuery();
nextTime = 5;
timer1.Enabled = true;
start = DateTime.Now;
}
catch (Exception ex)
{
MessageBox.Show("Exception: " + ex.Message);
}
}
private void timer1_Tick(object sender, System.EventArgs e)
{
if (! asyncResult.IsCompleted)
{
TimeSpan ts = DateTime.Now.Subtract(start);
if (ts.TotalSeconds > nextTime)
{
nonQueryOutput.Text += Convert.ToInt32(ts.TotalSeconds) + " seconds" + Environment.NewLine;
nextTime += 5;
}
return;
}
int recordsAffected = cmd.EndExecuteNonQuery(asyncResult);
nonQueryOutput.Text += "Records Affected = " + recordsAffected;
conn.Close();
timer1.Enabled = false;
}
}
}