निष्पादित करते समय एक प्रगति पट्टी प्रदर्शित करना मैं उपयोगकर्ता को सूचित करना चाहता हूं कि डेटा को SQL डेटाबेस से पढ़ा जा रहा है और मैंने प्रोग्रेसबार के साथ एक फॉर्म बनाने का निर्णय लिया है लेकिन यह काम नहीं करता है - शायद क्योंकि थ्रेड की आवश्यकता है । मैं फॉर्मेटात्मक रूप से फॉर्म बनाना चाहता हूंSQL क्वेरी
ProgressBar pb = new ProgressBar();
pb.MarqueeAnimationSpeed = 30;
pb.Style = ProgressBarStyle.Marquee;
pb.Dock = DockStyle.Fill;
progressForm.ClientSize = new Size(200, 50);
progressForm.FormBorderStyle = FormBorderStyle.FixedDialog;
progressForm.StartPosition = FormStartPosition.CenterScreen;
progressForm.Controls.Add(pb);
progressForm.ControlBox = false;
progressForm.TopMost = true;
progressForm.Show();
//do data processes here (all queries and executes)
progressForm.close();
मेरे निर्दिष्ट लक्ष्यों को प्राप्त करने के लिए उपरोक्त कोड को मैं कैसे संशोधित करूं?
संपादित करें: बीटीडब्ल्यू, मैं अपनी परियोजना में प्रत्येक डेटा कार्यों में इस प्रगति पट्टी का उपयोग करना चाहता हूं। उदाहरण के लिए: fillGrid, runQuery ..
@ आपके उत्तर के लिए बहुत बहुत धन्यवाद। मैं मतलब है कि कैसे मैं उदाहरण के लिए वर्ग के एक समारोह का उपयोग कर सकते मेरी gridFill समारोह है कि कनेक्शन कक्षा में है: एक और रूप से
class ConnectionClass
{
public static SqlConnection connection = new SqlConnection();
public string sorgu;
public static string server;
public static string userId;
public static string catalog;
public static string password;
public static string accessMethod;
public DataSet ds = new DataSet();
Form progressForm = new Form();
public bool Open()
{
try
{
if (connection.State != ConnectionState.Open)
{
connection.ConnectionString = "Data Source = " + server + ";" +
"Initial Catalog=" + catalog + ";" +
"User ID=" + userId + ";" +
"Password=" + password + ";" +
"Connect Timeout=0";
connection.Open();
return true;
}
else
{
return true;
}
}
catch (Exception ex)
{
MessageBox.Show("System message:" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
public DataTable Dt(string query)
{
DataTable dt = new DataTable();
if (Open())
{
SqlDataAdapter da = new SqlDataAdapter(query, connection);
try
{
//progressForm.Showdialog() is this possible???
da.Fill(dt);
//progressForm.close(); ??
}
catch (Exception ex)
{
MessageBox.Show("Sistem Mesajı:" + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
return dt;
}
public bool Run(string query, string hataMsj)
{
Form activeForm = Form.ActiveForm;
query = " SET DATEFORMAT DMY " + query;
SqlCommand sc = new SqlCommand(query, connection);
try
{
Open();
sc.ExecuteNonQuery();
return true;
}
catch (Exception)
{
return false;
}
}
public void fillComboBox(string sorgu, ComboBox cb, string text, string value)
{
DataTable dt = Dt(sorgu);
cb.DisplayMember = text;
cb.ValueMember = value;
cb.DataSource = dt;
if (cb.Items.Count > 0)
{
cb.SelectedIndex = 0;
}
}
public int fillGridView(string sorgu, DataGridView dgv)
{
DataTable dtGrvw = Dt(sorgu);
dgv.DataSource = dtGrvw;
return 1;
}
}
और उदाहरण प्रश्नों (वर्ग)
ConnectionClass cc = new ConnectionClass();
query= " INSERT INTO tblPersonel (" +
" [sqlUserName] " +
",[personelNo] " +
",[ad] " +
",[soyad] " +
",[departmanId] " +
",[emailadres] " +
",[tcKimlikNo],[kangurubu],[dokumaciNo])VALUES" +
"('" + tbSqlUserName.Text +
"','" + tbPersonelNo.Text +
"','" + tbAd.Text +
"','" + tbSoyad.Text +
"','" + cbDepartman.SelectedValue.ToString() +
"','" + tbMail.Text +
"','" + tbKimlikno.Text +
"','" + tbKangrubu.Text +
"','" + tbDokumaciNo.Text + "') ";
if (cc.Run(query, "Unexpected error on insert new person"))
{
fillGrid();
this.Close();
}
public void fillGrid()
{
query= " select * from View_Personel order by personelNo desc";
cc.fillGridView(query, gridviewPersonel);
}
और मैं नहीं कर सकते कल्पना कैसे कर सकते हैं मैं इसे bw_DoWork घटना में उपयोग करता हूं। क्योंकि मेरे फ़ंक्शन में पैरामीटर हैं। (क्वेरी, ग्रिडव्यू) जब मैं इसे किसी अन्य वर्ग से कॉल करता हूं तो मैं इसे पैरामीटर के साथ उपयोग कर सकता हूं ...
पेज। : this Method मेरे लिए बहुत अच्छा है लेकिन यह काम नहीं किया। मुझे समस्या नहीं मिली
पृष्ठभूमि कार्यकर्ता वर्ग में देखें। http://msdn.microsoft.com/en-us/library/cc221403(v=vs.95).aspx –