Heim Backend-Entwicklung C#.Net-Tutorial Beispielerklärung für den ADO-Aufruf der gespeicherten Paging-Abfrageprozedur_Praktische Tipps

Beispielerklärung für den ADO-Aufruf der gespeicherten Paging-Abfrageprozedur_Praktische Tipps

Dec 15, 2017 pm 02:37 PM
存储 查询 过程

Der Redakteur unten wird Ihnen eine Beispielerklärungder ADO-Aufruf-Paging-Abfragegespeicherte Prozedur mitteilen. Sie hat einen sehr guten Referenzwert und wird für alle hilfreich sein Machen Sie alle besser mit ADO vertraut. Wenn Sie sich für ADO interessieren, folgen Sie bitte dem Editor, um einen Blick darauf zu werfen

1. Paging Stored Procedure


----------使用存储过程编写一个分页查询-----------------------
set nocount off --关闭SqlServer消息
--set nocount on --开启SqlServer消息
go
create proc usp_getMyStudentsDataByPage
--输入参数
@pagesize int=7,--每页记录条数
@pageindex int=1,--当前要查看第几页的记录
--输出参数
@recordcount int output,--总的记录的条数
@pagecount int output --总的页数
as
begin
--1.编写查询语句,把用户要的数据查询出来
select
t.fid,
t.fname,
t.fage,
t.fgender,
t.fmath,
t.fclassid,
t.fbirthday
from (select *,rn=row_number() over(order by fid asc) from MyStudent) as t
where t.rn between (@pageindex-1)*@pagesize+1 and @pagesize*@pageindex
--2.计算总的记录条数
set @recordcount=(select count(*) from MyStudent)
--3.计算总页数
set @pagecount=ceiling(@recordcount*1.0/@pagesize)
end
 
--调用前定义输出参数
declare @rc int,@pc int
exec usp_getMyStudentsDataByPage @pagesize=7,@pageindex=4, @recordcount=@rc output,@pagecount=@pc output
print @rc
print @pc
Nach dem Login kopieren



2. ADO ruft gespeicherte Prozeduren auf


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace _02通过Ado.Net调用存储过程
{
 public partial class Form1 : Form
 {
  public Form1()
  {
   InitializeComponent();
  }
  private int pageIndex = 1;//当前要查看的页码
  private int pageSize = 7;//每页显示的记录条数

  private int pageCount;//总页数
  private int recordCount;//总条数
  //窗体加载的时候显示第一页的数据
  private void Form1_Load(object sender, EventArgs e)
  {
   LoadData();
  }
  private void LoadData()
  {
   //根据pageIndex来加载数据
   string constr = "Data Source=steve-pc;Initial Catalog=itcast2014;Integrated Security=True";
   #region 1
   //using (SqlConnection conn = new SqlConnection(constr))
   //{
   // //将sql语句变成存储过程名称
   // string sql = "usp_getMyStudentsDataByPage";
   // using (SqlCommand cmd = new SqlCommand(sql, conn))
   // {
   //  //告诉SqlCommand对象,现在执行的存储过程不是SQL语句
   //  cmd.CommandType = CommandType.StoredProcedure;
   //  //增加参数(存储过程中有几个参数,这里就需要增加几个参数)
   //  //@pagesize int=7,--每页记录条数
   //  //@pageindex int=1,--当前要查看第几页的记录
   //  //@recordcount int output,--总的记录的条数
   //  //@pagecount int output --总的页数
   //  SqlParameter[] pms = new SqlParameter[] { 
   //  new SqlParameter("@pagesize",SqlDbType.Int){Value =pageSize},
   //  new SqlParameter("@pageindex",SqlDbType.Int){Value =pageIndex},
   //  new SqlParameter("@recordcount",SqlDbType.Int){ Direction=ParameterDirection.Output},
   //  new SqlParameter("@pagecount",SqlDbType.Int){Direction=ParameterDirection.Output}
   //  };
   //  cmd.Parameters.AddRange(pms);
   //  //打开连接
   //  conn.Open();
   //  //执行
   //using(SqlDataReader reader=cmd.ExecuteReader())
   //{
    //reader.Read()
   //}
   //pms[2].Value
   // }
   //}
   #endregion
   //DataAdapter方式
   DataTable dt = new DataTable();
   using (SqlDataAdapter adapter = new SqlDataAdapter("usp_getMyStudentsDataByPage", constr))
   {
    adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
    SqlParameter[] pms = new SqlParameter[] { 
     new SqlParameter("@pagesize",SqlDbType.Int){Value =pageSize},
     new SqlParameter("@pageindex",SqlDbType.Int){Value =pageIndex},
     new SqlParameter("@recordcount",SqlDbType.Int){ Direction=ParameterDirection.Output},
     new SqlParameter("@pagecount",SqlDbType.Int){Direction=ParameterDirection.Output}
     };
    adapter.SelectCommand.Parameters.AddRange(pms);
    adapter.Fill(dt);
    //获取输出参数并且赋值给label
    label1.Text = "总条数:" + pms[2].Value.ToString();
    label2.Text = "总页数:" + pms[3].Value.ToString();
    label3.Text = "当前页:" + pageIndex;
    //数据绑定
    this.dataGridView1.DataSource = dt;
   }
  }
  //下一页
  private void button2_Click(object sender, EventArgs e)
  {
   pageIndex++;
   LoadData();
  }
  //上一页
  private void button1_Click(object sender, EventArgs e)
  {
   pageIndex--;
   LoadData();
  }
 }
}
Nach dem Login kopieren


Rendering:

3. Pass Der Unterschied zwischen dem Aufruf einer gespeicherten Prozedur durch ado.net und dem Aufruf einer SQL-Anweisung mit Parametern.

1> Wandeln Sie die SQL-Anweisung in einen gespeicherten Prozedurnamen um

2> Setzen Sie den CommandType des SqlCommand-Objekts auf CommandType.StoredProcedure

Das Wesentliche Dieser Schritt besteht aus „exec“ vor dem Namen der gespeicherten Prozedur hinzufügen

3> Legen Sie die Parameter des SqlCommand-Objekts entsprechend den Parametern der gespeicherten Prozedur fest.

4> Wenn Ausgabeparameter vorhanden sind, müssen Sie die Direction-Eigenschaft des Ausgabeparameters wie folgt festlegen: Direction=ParameterDirection.Output

4. Wenn Sie ExecuteReader aufrufen () der Command-Objektmethode, um die gespeicherte Prozedur auszuführen. Wenn Sie dann die Ausgabeparameter abrufen möchten, müssen Sie warten, bis das Reader-Objekt geschlossen ist, bevor Sie die Ausgabeparameter abrufen können.

Die obige Beispielerklärung der gespeicherten Paging-Abfrageprozedur von ADO ist der gesamte Inhalt, den der Herausgeber geteilt hat. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie die chinesische PHP-Website unterstützen . .

Verwandte Empfehlungen:

Analyse von ADO.NET Detaillierte Erläuterung der Vorgänge zum Hinzufügen, Löschen, Ändern und Überprüfen SQL Server-Datenbank

Einführung in praktische Beispiele von ADO.NET

ADO.NET-Implementierungs-Tutorial für den Betrieb von SQL Server-Datenbanken

Das obige ist der detaillierte Inhalt vonBeispielerklärung für den ADO-Aufruf der gespeicherten Paging-Abfrageprozedur_Praktische Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze 12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze Mar 28, 2024 pm 03:11 PM

Laden Sie die neueste Version der Ticketbuchungs-App 12306 herunter, mit der jeder sehr zufrieden ist. Es gibt viele Ticketquellen, die in der Software bereitgestellt werden -Namenauthentifizierung zum Online-Kauf von Tickets. Alle Benutzer können ganz einfach Reisetickets und Flugtickets kaufen und verschiedene Ermäßigungen genießen. Sie können auch im Voraus mit der Buchung beginnen, um Tickets zu erhalten. Damit können Sie mit einem Klick dorthin fahren, wo Sie möchten, und so das Reisen einfacher und bequemer gestalten Noch komfortabler: Der Herausgeber stellt die Details jetzt online dar. Bietet 12306 Benutzern die Möglichkeit, historische Ticketkaufaufzeichnungen einzusehen. 1. Öffnen Sie Railway 12306, klicken Sie unten rechts auf „Mein“ und dann auf „Meine Bestellung“. 2. Klicken Sie auf der Bestellseite auf „Bezahlt“. 3. Auf der kostenpflichtigen Seite

Huawei wird nächstes Jahr innovative MED-Speicherprodukte auf den Markt bringen: Die Rack-Kapazität übersteigt 10 PB und der Stromverbrauch beträgt weniger als 2 kW Huawei wird nächstes Jahr innovative MED-Speicherprodukte auf den Markt bringen: Die Rack-Kapazität übersteigt 10 PB und der Stromverbrauch beträgt weniger als 2 kW Mar 07, 2024 pm 10:43 PM

Diese Website berichtete am 7. März, dass Dr. Zhou Yuefeng, Präsident der Datenspeicherproduktlinie von Huawei, kürzlich an der MWC2024-Konferenz teilgenommen und speziell die magnetoelektrische Speicherlösung OceanStorArctic der neuen Generation vorgestellt hat, die für warme Daten (WarmData) und kalte Daten (ColdData) entwickelt wurde. Zhou Yuefeng, Präsident der Datenspeicherproduktlinie von Huawei, hat eine Reihe innovativer Lösungen veröffentlicht: Die dieser Website beigefügte offizielle Pressemitteilung von Huawei lautet wie folgt: Die Kosten dieser Lösung sind 20 % niedriger als die von Magnetbändern Der Stromverbrauch ist 90 % niedriger als der von Festplatten. Laut Foreign Technology Media BlocksandFiles gab ein Huawei-Sprecher auch Informationen über die magnetoelektrische Speicherlösung preis: Huaweis magnetoelektronische Disk (MED) sei eine bedeutende Innovation bei magnetischen Speichermedien. ME der ersten Generation

So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com Mar 28, 2024 pm 04:31 PM

Wie kann ich meine akademischen Qualifikationen auf Xuexin.com überprüfen? Sie können Ihre akademischen Qualifikationen auf Xuexin.com überprüfen. Viele Benutzer wissen nicht, wie sie ihre akademischen Qualifikationen auf Xuexin.com überprüfen können Benutzer kommen vorbei und schauen sich um! Tutorial zur Nutzung von Xuexin.com: So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com 1. Zugang zu Xuexin.com: https://www.chsi.com.cn/ 2. Website-Abfrage: Schritt 1: Klicken Sie auf die Adresse von Xuexin.com Um die Startseite aufzurufen, klicken Sie oben auf [Bildungsabfrage]; Schritt 2: Klicken Sie auf der neuesten Webseite auf [Abfrage], wie durch den Pfeil in der Abbildung unten dargestellt. Schritt 3: Klicken Sie dann auf der neuen Seite auf [Anmelden bei akademischer Kreditdatei]. Schritt 4: Geben Sie auf der Anmeldeseite die Informationen ein und klicken Sie auf [Anmelden].

Vergleich der Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL Vergleich der Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL Mar 16, 2024 am 11:15 AM

MySQL und PL/SQL sind zwei unterschiedliche Datenbankverwaltungssysteme, die die Merkmale relationaler Datenbanken bzw. prozeduraler Sprachen darstellen. In diesem Artikel werden die Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL anhand konkreter Codebeispiele zur Veranschaulichung verglichen. MySQL ist ein beliebtes relationales Datenbankverwaltungssystem, das Structured Query Language (SQL) zum Verwalten und Betreiben von Datenbanken verwendet. PL/SQL ist eine für Oracle-Datenbanken einzigartige prozedurale Sprache und wird zum Schreiben von Datenbankobjekten wie gespeicherten Prozeduren, Triggern und Funktionen verwendet. Dasselbe

Git-Installationsprozess unter Ubuntu Git-Installationsprozess unter Ubuntu Mar 20, 2024 pm 04:51 PM

Git ist ein schnelles, zuverlässiges und anpassungsfähiges verteiltes Versionskontrollsystem. Es ist für die Unterstützung verteilter, nichtlinearer Arbeitsabläufe konzipiert und eignet sich daher ideal für Softwareentwicklungsteams jeder Größe. Jedes Git-Arbeitsverzeichnis ist ein unabhängiges Repository mit einem vollständigen Verlauf aller Änderungen und der Möglichkeit, Versionen auch ohne Netzwerkzugriff oder einen zentralen Server zu verfolgen. GitHub ist ein in der Cloud gehostetes Git-Repository, das alle Funktionen der verteilten Revisionskontrolle bietet. GitHub ist ein Git-Repository, das in der Cloud gehostet wird. Im Gegensatz zu Git, einem CLI-Tool, verfügt GitHub über eine webbasierte grafische Benutzeroberfläche. Es wird zur Versionskontrolle verwendet, was die Zusammenarbeit mit anderen Entwicklern und die Verfolgung von Änderungen an Skripten und anderen umfasst

So überprüfen Sie das Aktivierungsdatum auf einem Apple-Mobiltelefon So überprüfen Sie das Aktivierungsdatum auf einem Apple-Mobiltelefon Mar 08, 2024 pm 04:07 PM

Wenn Sie das Aktivierungsdatum mit einem Apple-Mobiltelefon überprüfen möchten, überprüfen Sie es am besten anhand der Seriennummer im Mobiltelefon. Sie können es auch überprüfen, indem Sie die offizielle Website von Apple besuchen, es an einen Computer anschließen und einen Drittanbieter herunterladen Software eines Drittanbieters, um dies zu überprüfen. Wie kann ich das Aktivierungsdatum eines Apple-Mobiltelefons überprüfen? Antwort: Abfrage der Seriennummer, Abfrage der offiziellen Apple-Website, Abfrage der Software eines Drittanbieters 1. Der beste Weg für Benutzer ist, die Seriennummer ihres Mobiltelefons zu kennen Sie können die Seriennummer sehen, indem Sie „Einstellungen“, „Allgemein“, „Über dieses Gerät“ öffnen. 2. Anhand der Seriennummer können Sie nicht nur das Aktivierungsdatum Ihres Mobiltelefons ermitteln, sondern auch die Mobiltelefonversion, die Herkunft des Mobiltelefons, das Fabrikdatum des Mobiltelefons usw. überprüfen. 3. Benutzer besuchen die offizielle Website von Apple, um technischen Support zu finden, finden die Spalte „Service und Reparatur“ unten auf der Seite und überprüfen dort die iPhone-Aktivierungsinformationen. 4. Benutzer

Wie frage ich mit Oracle ab, ob eine Tabelle gesperrt ist? Wie frage ich mit Oracle ab, ob eine Tabelle gesperrt ist? Mar 06, 2024 am 11:54 AM

Titel: Wie kann ich mit Oracle abfragen, ob eine Tabelle gesperrt ist? In der Oracle-Datenbank bedeutet Tabellensperre, dass, wenn eine Transaktion einen Schreibvorgang für die Tabelle ausführt, andere Transaktionen blockiert werden, wenn sie Schreibvorgänge für die Tabelle ausführen oder strukturelle Änderungen an der Tabelle vornehmen möchten (z. B. Spalten hinzufügen, Zeilen löschen). , usw.). Im eigentlichen Entwicklungsprozess müssen wir häufig abfragen, ob die Tabelle gesperrt ist, um damit verbundene Probleme besser beheben und beheben zu können. In diesem Artikel wird erläutert, wie Sie mithilfe von Oracle-Anweisungen abfragen, ob eine Tabelle gesperrt ist, und es werden spezifische Codebeispiele aufgeführt. Um zu überprüfen, ob der Tisch gesperrt ist, haben wir

Diskutieren Sie den Austausch von Fähigkeiten zur Datenbankstandortabfrage Diskutieren Sie den Austausch von Fähigkeiten zur Datenbankstandortabfrage Mar 10, 2024 pm 01:36 PM

Das Forum ist eine der häufigsten Website-Formen im Internet. Es bietet Benutzern eine Plattform zum Teilen von Informationen, zum Austauschen und zur Diskussion. Discuz ist ein häufig verwendetes Forenprogramm und ich glaube, dass viele Webmaster bereits sehr vertraut damit sind. Während der Entwicklung und Verwaltung des Discuz-Forums ist es häufig erforderlich, die Daten in der Datenbank zur Analyse oder Verarbeitung abzufragen. In diesem Artikel geben wir einige Tipps zum Abfragen des Speicherorts der Discuz-Datenbank und stellen spezifische Codebeispiele bereit. Zunächst müssen wir die Datenbankstruktur von Discuz verstehen

See all articles