पहले अगले आखिरी पिछले बटन के लिए कोड और पेज विंडोज़ सी# एप्लिकेशन में डेटा प्रदर्शित करें


नमस्ते,
मैं विंडोज़ सी# एप्लिकेशन बनाता हूं। जिसमें मैंने पहले, अगले, आखिरी, पिछले जैसे बटन लगाए।
अब मैं डेटाबेस से रिकॉर्ड फ़ेच प्रदर्शित करना चाहता हूं, और पेज में दिखाना चाहता हूं।
जब मैं पहले बटन पर क्लिक करता हूं तो लोड समय डेटा पहले प्रदर्शित होता है। जब मैं अंतिम क्लिक करता हूं तो डेटा अंतिम रिकॉर्ड प्रदर्शित करता है, जब मैं पिछला क्लिक करता हूं तो डेटा पिछला प्रदर्शित होता है, और जब मैं अगला क्लिक करता हूं तो सी# विंडोज़ एप्लिकेशन में अगला डेटा प्रदर्शित करता हूं।
कृपया मेरी मदद करें…

मैंने क्या प्रयास किया है:

मैंने कोड बनाने का प्रयास किया, लेकिन सफलता नहीं मिली। मैं इसका उपयोग करने के लिए लूप का उपयोग कैसे कर सकता हूं और पेज के लोड समय में डेटा कैसे प्रदर्शित कर सकता हूं।

समाधान 2

इस उदाहरण का उपयोग करके अपना फॉर्म बनाएं

सी#
public partial class Form1 : Form
   {

       public Form1()
       {
           InitializeComponent();
       }

       DataTable dt = new DataTable();
       int index = 0;
       int last = 0;

       private void Form1_Load(object sender, EventArgs e)
       {
           dt.Columns.Add("FirstName");
           dt.Columns.Add("LastName");

           dt.Rows.Add("Moto", "Nexus");
           dt.Rows.Add("Apple", "Iphone");
           dt.Rows.Add("Sony", "Vaio");
           dt.Rows.Add("Samsung", "Edge");

           index = 0;
           last = dt.Rows.Count -1;
           PopulateData();
       }

       private void btnFirst_Click(object sender, EventArgs e)
       {
           index = 0;
           PopulateData();
       }
       private void btnLast_Click(object sender, EventArgs e)
       {
           index = last - 1;
           PopulateData();
       }
       private void btnPrev_Click(object sender, EventArgs e)
       {
           index--;
           index = index <0? 0:index;
           PopulateData();
       }
       private void btnNext_Click(object sender, EventArgs e)
       {
           index++;
           index = index > last? last : index;
           PopulateData();
       }

       private void PopulateData()
       {
           DataRow row = dt.Rows[index];
           string firstName = row["FirstName"].ToString();
           string lastName = row["LastName"].ToString();
           txtFirstName.Text = firstName;
           txtLastName.Text = lastName;

       }
   }

समाधान 29

निजी शून्य बटन15_क्लिक_1(ऑब्जेक्ट प्रेषक, इवेंटआर्ग्स ई)
{

SqlConnection con = नया SqlConnection(dbFunctions.connectionstring);
कोशिश
{
con.Open();
SqlCommand com = नया SqlCommand();
com.कनेक्शन = con;
com.CommandType = CommandType.Text;

अगर (आईडी == “0”)
{
यदि (textMname.Text != “” && textqty.Text != “”)
{

डेटाटेबल dd = dbFunctions.getTable (“मेडिकल से isnull(max(NO),0)+1 चुनें”);
यदि (dd.Rows.Count > 0)
{
आईडी = dd.पंक्तियाँ[0][0]।स्ट्रिंग();
}
com.CommandText = “मेडिकल में डालें (NO,M_Name,Qty,Patient,Dises,Remark,UNO,STATUS) मान (@NO,@M_Name,@Qty,@Patient,@Dises,@Remark,@UNO,@STATUS )”;
//प्रकार = “नया”;
}
अन्य
{
MessageBox.Show(‘Mname और qty शून्य नहीं होनी चाहिए’);
}

}
अन्य
{
यदि (textMname.Text != “” && textqty.Text != “”)
{
com.CommandText = “अपडेट मेडिकल सेट M_Name=@M_Name,Qty=@Qty,Patient = @Patient,Dises=@Dises,Remark=@Remark,UNO = @UNO जहां NO=@NO “;
//प्रकार = “संपादित करें”;
}
अन्य
{
MessageBox.Show(‘Mname और qty शून्य नहीं होनी चाहिए’);
}

}

com.Parameters.Add(“@NO”, SqlDbType.VarChar).Value = ID.ToString();
com.Parameters.Add(“@UNO”, SqlDbType.VarChar).Value = textUNO.Text;
com.Parameters.Add(“@M_Name”, SqlDbType.VarChar).Value = textMname.Text;
com.Parameters.Add(“@Qty”, SqlDbType.VarChar).Value = textqty.Text;
com.Parameters.Add(“@Patient”, SqlDbType.VarChar).Value =patient.Text;
com.Parameters.Add(“@Dises”, SqlDbType.VarChar).Value = textDises.Text;
com.Parameters.Add(“@Remark”, SqlDbType.VarChar).Value = textRemarks.Text;
com.Parameters.Add(‘@STATUS’, SqlDbType.Char).Value=’A’;

com.ExecuteNonQuery();
com.कनेक्शन.बंद करें();
MessageBox.Show(‘विवरण सफलतापूर्वक सहेजा गया’, ‘सफलता’, MessageBoxButtons.OK, MessageBoxIcon.Information);

प्रदर्शन();
स्पष्ट();
this.ActiveControl = textMname;
}
पकड़ो (अपवाद पूर्व)
{
//dbFunctions.Logs(Ex.Message, dbFunctions.username);
MessageBox.Show(Ex.Message, “Error”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}

निजी शून्य बटन17_क्लिक_1(ऑब्जेक्ट प्रेषक, इवेंटआर्ग्स ई)
{

स्पष्ट();

}
निजी शून्य स्पष्ट()
{
आईडी = “0”;
//textUNO.Text = “”;

// textPname.Text = “”;
textMname.Text = “”;
textqty.Text = “”;
// textDises.Text = “”;
//textRemarks.Text = “”;

}

निजी शून्य डेटाGridView6_CellContentClick_1(ऑब्जेक्ट प्रेषक, DataGridViewCellEventArgs e)
{
कोशिश
{
यदि (e.ColumnIndex == 0)
{
आईडी = डेटाग्रिडव्यू6.पंक्तियाँ[e.RowIndex].कोशिकाएँ[“NO”].Value.ToString();
डेटाटेबल dt = dbFunctions.getTable(“मेडिकल से * चुनें जहां NO='” + ID.ToString() + “‘”);
यदि (dt.Rows.Count > 0)
{
//यदि (dbfunction.Branch != “0”)
//{
// cmb_Branch.Text = dataGridView1.Rows[e.RowIndex].कोशिकाएँ[“Branch”].Value.ToString();
////
textMname.Text = dt.Rows[0][“M_Name”]।स्ट्रिंग();
textUNO.Text = dt.Rows[0][“UNO”]।स्ट्रिंग();
textqty.Text = dt.पंक्तियाँ[0][“Qty”]।स्ट्रिंग();
रोगी.पाठ = dt.पंक्तियाँ[0][“Patient”]।स्ट्रिंग();
textDises.Text = dt.Rows[0][“Dises”]।स्ट्रिंग();
textRemarks.Text = dt.Rows[0][“Remark”]।स्ट्रिंग();
// textvnumber.Text = dt.Rows[0][“VNUMBER”]।स्ट्रिंग();

}
अन्य
{
//आईडी = 0;
}

}
यदि (e.ColumnIndex == 1)
{
DialogResult परिणाम = MessageBox.Show(‘क्या आप डीलर विवरण हटाना चाहते हैं हाँ दबाएँ’, ‘Alcove’, MessageBoxButtons.हाँनहीं, MessageBoxIcon.Information);
यदि (परिणाम == DialogResult.हाँ)
{
dbFunctions.getTable(“अपडेट मेडिकल सेट STATUS=’D’ जहां NO='” + dataGridView6.Rows[e.RowIndex].कोशिकाएँ[“NO”].Value.ToString() + “‘”);
प्रदर्शन();
}
}

}
पकड़ना { }

}

निजी शून्य लेबल6_क्लिक(ऑब्जेक्ट प्रेषक, इवेंटआर्ग्स ई)
{

}

निजी शून्य बटन16_क्लिक_1(ऑब्जेक्ट प्रेषक, इवेंटआर्ग्स ई)
{
क्लियर1();
Fetch_uniq_no();
प्रदर्शन();

}
निजी शून्य साफ़1()
{
आईडी = “0”;

// textPname.Text = “”;
textUNO.Text = “”;
textMname.Text = “”;
textqty.Text = “”;
textDises.Text = “”;
textRemarks.Text = “”;

}

निजी शून्य textRemarks_TextChanged(ऑब्जेक्ट प्रेषक, इवेंटआर्ग्स ई)
{

}

सार्वजनिक शून्य Fetch_uniq_no()
{
डेटाटेबल dt = dbFunctions.getTable(‘select” + dbFunctions.Finance_Year + ‘https://www.codeproject.com/’+’UE’+right(‘0000’+cast(isnull(max(cast(right(UNO) ,4) int के रूप में)),0)+1 वर्चर के रूप में),4) मेडिकल से नहीं जहां बाएँ(UNO,5)=” + dbFunctions.Finance_Year + ””);
यदि (dt.Rows.Count > 0)
{
textUNO.Text = dt.Rows[0][0]।स्ट्रिंग();
}
}

यह मेरी क्वेरी है
मैं पर्विअस बटन कैसे जोड़ूं?

समाधान 7

उद्धरण:

विंडोज़ फॉर्म में बाइंडिंगनेविगेटर नियंत्रण का आगमन डेवलपर्स को अंतिम उपयोगकर्ताओं को उनके द्वारा बनाए गए फॉर्म पर एक सरल डेटा नेविगेशन और हेरफेर यूजर इंटरफेस प्रदान करने में सक्षम बनाता है।

बाइंडिंगनेविगेटर कंट्रोल के साथ डेटा नेविगेट करें – विंडोज़ फॉर्म .NET फ्रेमवर्क | माइक्रोसॉफ्ट डॉक्स[^]

समाधान 1

आप लूप का उपयोग नहीं करते.
वास्तव में यह कैसे करना है यह कई कारकों पर निर्भर करता है, जैसे कि आप अपना डेटा कैसे प्राप्त कर रहे हैं, कितना डेटा शामिल है, और आपके डीबी में वास्तव में क्या शामिल है।
लेकिन एक तरीका यह होगा:
सुनिश्चित करें कि आपके DB में एक Id कॉलम है, जिसमें IDENTITY है।
अपने DB में एक क्लास लेवल int सेट करें जिसे कहा जाता है lastRow और इसे -1 पर सेट करें.
जब आप प्रदर्शित करने के लिए डीबी से एक पंक्ति लाते हैं, तो कुछ इस तरह का उपयोग करें:

एसक्यूएल
SELECT TOP 1 * FROM MyTable WHERE Id > lastRow ORDER BY ID ASC

यदि आपको कोई पंक्तियाँ मिलती हैं, तो अंतिम पंक्ति को आईडी मान के साथ लोड करें।
“अगला” के लिए यह वही क्वेरी है।
पिछले के लिए:

एसक्यूएल
SELECT TOP 1 * FROM MyTable WHERE Id < lastRow ORDER BY ID DESC

पहला:

एसक्यूएल
SELECT TOP 1 * FROM MyTable ORDER BY ID ASC

पहला:

एसक्यूएल
SELECT TOP 1 * FROM MyTable ORDER BY ID DESC

コメント

タイトルとURLをコピーしました