[ad_1]
Salut,
je crée une application Windows C#. dans lequel j’ai mis un bouton comme premier, suivant, dernier, précédent.
maintenant, je veux afficher la récupération des enregistrements à partir de la base de données et les afficher sur la page.
lorsque je clique sur le premier bouton, puis sur l’affichage des données de temps de chargement en premier. lorsque je clique en dernier, les données affichent le dernier enregistrement, lorsque je clique sur précédent, les données affichent le précédent, et lorsque je clique sur suivant, les données s’affichent ensuite dans l’application Windows C#.
s’il vous plaît, aidez-moi…
Ce que j’ai essayé :
j’ai essayé de créer du code, mais je n’ai pas réussi. comment puis-je utiliser la boucle for pour l’utiliser et afficher les données pendant le temps de chargement de la page.
Solution 2
utilisez cet exemple pour créer votre formulaire
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; } }
Solution 29
bouton d’annulation privé15_Click_1 (expéditeur de l’objet, EventArgs e)
{
SqlConnection con = new SqlConnection(dbFunctions.connectionstring);
essayer
{
con.Open();
SqlCommand com = new SqlCommand();
com.Connexion = con;
com.CommandType = CommandType.Text;
si (ID == “0” )
{
if (textMname.Text != “” && textqty.Text != “”)
{
DataTable dd = dbFunctions.getTable(“select isnull(max(NO),0)+1 from medicals”);
si (dd.Rows.Count > 0)
{
ID = jj.Lignes[0][0].ToString();
}
com.CommandText = “insérer dans les éléments médicaux (NO,M_Name,Qty,Patient,Dises,Remark,UNO,STATUS) Valeurs (@NO,@M_Name,@Qty,@Patient,@Dises,@Remark,@UNO,@STATUS )” ;
//Type = “NOUVEAU” ;
}
autre
{
MessageBox.Show(“Mname et qty ne doivent pas être nuls”);
}
}
autre
{
if (textMname.Text != “” && textqty.Text != “”)
{
com.CommandText = “mettre à jour les examens médicaux Set M_Name=@M_Name,Qty=@Qty,Patient = @Patient,Dises=@Dises,Remark=@Remark,UNO = @UNO où NO=@NO “;
//Type = “ÉDITER” ;
}
autre
{
MessageBox.Show(“Mname et qty ne doivent pas être nuls”);
}
}
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.Connection.Close();
MessageBox.Show(“Détails enregistrés avec succès”, “Succès”, MessageBoxButtons.OK, MessageBoxIcon.Information);
afficher();
clair();
this.ActiveControl = textMname;
}
attraper (Exception Ex)
{
//dbFunctions.Logs(Ex.Message, dbFunctions.username);
MessageBox.Show(Ex.Message, “Erreur”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
bouton d’annulation privé17_Click_1 (expéditeur de l’objet, EventArgs e)
{
clair();
}
vide privé clair()
{
ID = “0” ;
//textUNO.Texte = “”;
// textPname.Text = “”;
textMname.Text = “”;
textqty.Text = “”;
// textDises.Text = “”;
//textRemarks.Text = “”;
}
dataGridView6_CellContentClick_1 privé vide (expéditeur d’objet, DataGridViewCellEventArgs e)
{
essayer
{
si (e.ColumnIndex == 0)
{
ID = dataGridView6.Rows[e.RowIndex].Cellules[“NO”].Value.ToString();
DataTable dt = dbFunctions.getTable(“select * from Medicals Where NO='” + ID.ToString() + “‘”);
si (dt.Rows.Count > 0)
{
//if (dbfunction.Branch != “0”)
//{
// cmb_Branch.Text = dataGridView1.Rows[e.RowIndex].Cellules[“Branch”].Value.ToString();
//}
textMname.Text = dt.Rows[0][“M_Name”].ToString();
textUNO.Texte = dt.Rows[0][“UNO”].ToString();
textqty.Text = dt.Rows[0][“Qty”].ToString();
patient.Texte = dt.Rows[0][“Patient”].ToString();
textDises.Text = dt.Rows[0][“Dises”].ToString();
textRemarks.Text = dt.Rows[0][“Remark”].ToString();
// textvnumber.Text = dt.Rows[0][“VNUMBER”].ToString();
}
autre
{
//identifiant = 0;
}
}
si (e.ColumnIndex == 1)
{
Résultat DialogResult = MessageBox.Show(“Voulez-vous supprimer les détails du concessionnaire, appuyez sur OUI”, “Alcove”, MessageBoxButtons.YesNo, MessageBoxIcon.Information);
si (résultat == DialogResult.Yes)
{
dbFunctions.getTable(“mettre à jour les examens médicaux défini STATUS=’D’ où NO='” + dataGridView6.Rows[e.RowIndex].Cellules[“NO”].Value.ToString() + “‘”);
afficher();
}
}
}
attraper { }
}
private void label6_Click (expéditeur de l’objet, EventArgs e)
{
}
bouton d’annulation privé16_Click_1 (expéditeur de l’objet, EventArgs e)
{
clear1();
fetch_uniq_no();
afficher();
}
vide privé clear1()
{
ID = “0” ;
// textPname.Text = “”;
texteUNO.Texte = “”;
textMname.Text = “”;
textqty.Text = “”;
textDises.Text = “”;
textRemarks.Text = “”;
}
private void textRemarks_TextChanged (expéditeur de l’objet, EventArgs e)
{
}
public vide fetch_uniq_no()
{
DataTable dt = dbFunctions.getTable(“select ‘” + dbFunctions.Finance_Year + “https://www.codeproject.com/”+’UE’+right(‘0000’+cast(isnull(max(cast(right(UNO ,4) comme int)),0)+1 comme varchar),4) comme Non des examens médicaux où left(UNO,5)='” + dbFunctions.Finance_Year + “‘”);
si (dt.Rows.Count > 0)
{
textUNO.Texte = dt.Rows[0][0].ToString();
}
}
C’est ma question que
comment ajouter un bouton précédent
Solution 7
Citation:L’avènement du contrôle BindingNavigator dans Windows Forms permet aux développeurs de fournir aux utilisateurs finaux une interface utilisateur simple de navigation et de manipulation des données sur les formulaires qu’ils créent.
Parcourez les données avec le contrôle BindingNavigator – Windows Forms .NET Framework | Microsoft Docs[^]
Solution 1
Vous n’utilisez pas de boucle.
La manière exacte de procéder dépend d’un certain nombre de facteurs, tels que la manière dont vous récupérez vos données, la quantité de données impliquées et le contenu exact de votre base de données.
Mais une solution serait :
Assurez-vous que votre base de données contient une colonne Id, avec IDENTITY.
Configurez un int de niveau classe dans votre base de données appelé lastRow
et réglez-le sur -1.
Lorsque vous récupérez une seule ligne de la base de données à afficher, utilisez quelque chose comme :
SELECT TOP 1 * FROM MyTable WHERE Id > lastRow ORDER BY ID ASC
Si vous obtenez des lignes, chargez lastRow avec la valeur ID.
Pour “Suivant”, c’est la même requête.
Pour le précédent, c’est :
SELECT TOP 1 * FROM MyTable WHERE Id < lastRow ORDER BY ID DESC
D’abord:
SELECT TOP 1 * FROM MyTable ORDER BY ID ASC
Premier :
SELECT TOP 1 * FROM MyTable ORDER BY ID DESC
[ad_2]
コメント