CARA: Panggilan label di ASP.NET dengan menggunakan Visual C#.NET

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 320916 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menunjukkan cara menggunakan ASP.NET dan ADO.NET dengan Visual C#.NET untuk menciptakan dan untuk memanggil Microsoft SQL Server disimpan prosedur dengan parameter input dan output parameter.

Kode contoh dalam artikel ini pertama cek apakah disimpan prosedur yang akan Anda buat ada di Pub database, yang disertakan dengan instalasi Microsoft SQL Server standar. Jika tidak ada prosedur yang tersimpan, kode menciptakan disimpan prosedur yang mengambil satu parameter untuk mencari Penulis Tabel berdasarkan nama terakhir dan kembali cocok baris dan jumlah baris yang dikembalikan dalam Keluaran parameter.

Artikel ini juga menunjukkan cara membuat formulir Web yang menyediakan antarmuka pengguna yang sederhana. Formulir Web berisi item berikut:
  • Kotak teks di mana pengguna jenis kondisi pencarian.
  • A DataGrid kontrol yang menampilkan hasil pencarian.
  • A Label kontrol yang menampilkan jumlah kembali catatan.
  • A Tombol kontrol yang memanggil stored procedure ketika tombol diklik.

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang diperlukan:
  • Microsoft SQL Server versi 7.0 atau yang lebih baru
  • Microsoft Visual Studio.NET
  • Microsoft Visual C#.NET
  • Izin untuk membuat prosedur yang disimpan dalam database
Artikel ini mengasumsikan bahwa Anda sudah familiar dengan topik-topik berikut:
  • ASP.NET
  • SQL Server disimpan prosedur

Menciptakan situs web ASP.NET proyek dan menambahkan kontrol

Dalam bagian ini, Anda membuat ASP.NET proyek dan membangun antarmuka pengguna dasar. Perhatikan bahwa langkah-langkah ini menggunakan Microsoft Visual C#.Kode bersih. Untuk menciptakan proyek, ikuti langkah berikut:
  1. Klik Mulai, arahkan ke Program, arahkan ke Microsoft Visual Studio.NET, lalu klik Microsoft Visual Studio.NET.
  2. Pada Visual Studio.NET Start halaman, klik Proyek baru.
  3. Dalam Proyek baru kotak dialog, klik Visual C# proyek di bawah Jenis proyek, lalu klik ASP.Aplikasi NET Web di bawah Pola acu.
  4. Dalam Nama kotak, ketik nama untuk aplikasi Web Anda, dan kemudian klik Oke.
  5. Tambahkan kontrol server berikut untuk formulir Web, dan menetapkan properti seperti yang tertera di atas meja:
    Perkecil tabel iniPerbesar tabel ini
    KontrolID propertiTeks properti
    LabellblLastNameKetik nama terakhir penulis:
    TextBoxtxtLastName%
    TombolbtnGetAuthorsMendapatkan penulis
    LabellblRowCount(Perhitungan baris)

  6. Tarik DataGrid Server mengontrol dari toolbox untuk formulir Web, dan kemudian menetapkan Nama properti untuk GrdAuthors.
  7. Klik kanan kotak-kotak, dan kemudian klik AutoFormat.
  8. Klik Profesional 1 skema, dan kemudian klik Oke.

Membuat GetAuthorsByLastName disimpan prosedur

Gunakan kode Transact-SQL berikut untuk membuat GetAuthorsByLastName disimpan prosedur:
Use Pubs
Go
Create Procedure GetAuthorsByLastName (@au_lname varchar(40), @RowCount int output)  
as 

select * from authors where au_lname like @au_lname; 

/* @@ROWCOUNT returns the number of rows that are affected by the last statement. */ 
select @RowCount=@@ROWCOUNT
				
Kode ini mencakup dua parameter: @ au_lname dan @ RowCount. @ Au_lname parameter adalah parameter input yang memperoleh string pencarian untuk melakukan pencarian "seperti" di Penulis tabel. @ RowCount parameter adalah parameter output yang menggunakan variabel @@ ROWCOUNT untuk mendapatkan baris terpengaruh.

Membuat dan menjalankan prosedur yang tersimpan

Untuk mengakses database SQL Server, Anda harus mengimpor System.data.SqlClient namespace, yang menyediakan objek baru seperti SqlDataReader dan SqlDataAdapter objek. Anda dapat menggunakan SqlDataReader untuk membaca ke depan hanya aliran baris dari database SQL Server. DataAdapter mewakili seperangkat perintah data dan koneksi database yang dapat Anda gunakan untuk mengisi DataSet Obyek dan mengupdate database SQL Server.

ADO.NET juga memperkenalkan DataSet objek, yang merupakan gambaran menempati memori data yang menyediakan konsisten, relational model pemrograman terlepas dari sumber data. Kode dalam bagian ini menggunakan semua objek-objek ini.
  1. Klik dua kali formulir Web.
  2. Tambahkan kode berikut ( menggunakan arahan) ke bagian Deklarasi formulir Web Anda, yang muncul di bagian atas jendela kode:
    using System.Data;
    using System.Data.SqlClient;
    					
  3. Untuk memastikan bahwa prosedur yang tersimpan ada dan membuat prosedur yang baru disimpan, menggunakan SqlCommand objek dengan SqlDataReader objek. Anda dapat menggunakan SqlCommand untuk menjalankan perintah SQL apapun terhadap database. Kemudian panggilan ExecuteReader metode SqlCommand untuk kembali SqlDataReader, yang berisi baris yang cocok untuk permintaan Anda.

    Tambahkan kode berikut dalam Page_Load acara formulir Web:
    	private void Page_Load(object sender, System.EventArgs e)
    	{
    		// Only run this code the first time the page is loaded.
    		// The code inside the IF statement is skipped when you resubmit the page.
    		if (!IsPostBack)
    		{
    			//Create a connection to the SQL Server; modify the connection string for your environment
    			//SqlConnection MyConnection = new SqlConnection("server=(local);database=pubs;Trusted_Connection=yes");
    			SqlConnection MyConnection = new SqlConnection("server=(local);database=pubs;UID=myUser;PWD=myPassword;");
    
    			// Create a Command object, and then set the connection.
    			// The following SQL statements check whether a GetAuthorsByLastName  
    			// stored procedure already exists.
    			SqlCommand MyCommand = new SqlCommand("select * from sysobjects where id = object_id(N'GetAuthorsByLastName')" +
    			"  and OBJECTPROPERTY(id, N'IsProcedure') = 1", MyConnection);
    
    			// Set the command type that you will run.
    			MyCommand.CommandType = CommandType.Text;
    
    			// Open the connection.
    			MyCommand.Connection.Open();
    
    			// Run the SQL statement, and then get the returned rows to the DataReader.
    			SqlDataReader MyDataReader = MyCommand.ExecuteReader();
    
    			// If any rows are returned, the stored procedure that you are trying 
    			// to create already exists. Therefore, try to create the stored procedure
    			// only if it does not exist.
    			if(!MyDataReader.Read())
    			{
    				MyCommand.CommandText = "create procedure GetAuthorsByLastName" + 
    					" (@au_lname varchar(40), select * from authors where" +
    					" au_lname like @au_lname; select @RowCount=@@ROWCOUNT";
    				MyDataReader.Close();
    				MyCommand.ExecuteNonQuery();
    			}
    			else
    			{
    				MyDataReader.Close();
    			}
    
    			MyCommand.Dispose();  //Dispose of the Command object.
    			MyConnection.Close(); //Close the connection.
    		}
    
    		// Add the event handler to the Button_Click event.
    		this.btnGetAuthors.Click += new System.EventHandler(this.btnGetAuthors_Click);
    	}
    					
  4. Memanggil prosedur yang disimpan dalam Klik peristiwa btnGetAuthors tombol, dan kemudian gunakan SqlDataAdapter objek untuk menjalankan prosedur yang tersimpan. Anda harus membuat parameter untuk disimpan prosedur dan menambahkan untuk Parameter Koleksi SqlDataAdapter objek.

    Tambahkan kode berikut setelah Page_Load acara:
    	private void btnGetAuthors_Click(object sender, System.EventArgs e)
    	{
    		//Create a connection to the SQL Server; modify the connection string for your environment.
    		//SqlConnection MyConnection = new SqlConnection("server=(local);database=pubs;Trusted_Connection=yes");
    		SqlConnection MyConnection = new SqlConnection("server=(local);database=pubs;UID=myUser;PWD=myPassword;");
    
    		//Create a DataAdapter, and then provide the name of the stored procedure.
    		SqlDataAdapter MyDataAdapter = new SqlDataAdapter("GetAuthorsByLastName", MyConnection);
    
    		//Set the command type as StoredProcedure.
    		MyDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
    
    		//Create and add a parameter to Parameters collection for the stored procedure.
    		MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@au_lname", SqlDbType.VarChar, 40));
    
    		//Assign the search value to the parameter.
    		MyDataAdapter.SelectCommand.Parameters["@au_lname"].Value = (txtLastName.Text).Trim();
    
    		//Create and add an output parameter to the Parameters collection. 
    		MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@RowCount", SqlDbType.Int, 4));
    
    		//Set the direction for the parameter. This parameter returns the Rows that are returned.
    		MyDataAdapter.SelectCommand.Parameters["@RowCount"].Direction = ParameterDirection.Output;
    
    		//Create a new DataSet to hold the records.
    		DataSet DS = new DataSet();
    		
    		//Fill the DataSet with the rows that are returned.
    		MyDataAdapter.Fill(DS, "AuthorsByLastName");
    
    		//Get the number of rows returned, and assign it to the Label control.
    		//lblRowCount.Text = DS.Tables(0).Rows.Count().ToString() & " Rows Found!"
    		lblRowCount.Text = MyDataAdapter.SelectCommand.Parameters[1].Value + " Rows Found!";
    
    		//Set the data source for the DataGrid as the DataSet that holds the rows.
    		GrdAuthors.DataSource = DS.Tables["AuthorsByLastName"].DefaultView;
    
    		//NOTE: If you do not call this method, the DataGrid is not displayed!
    		GrdAuthors.DataBind();
    
    		MyDataAdapter.Dispose(); //Dispose the DataAdapter.
    		MyConnection.Close(); //Close the connection.
    	}
    					
  5. Dalam solusi Explorer, klik kanan halaman .aspx, dan kemudian klik Set sebagai halaman awal.
  6. Menyimpan proyek, dan kemudian klik Mulai dalam Visual Studio.NET. Perhatikan bahwa proyek dikompilasi dan bahwa halaman default berjalan.
  7. Ketik nama terakhir penulis di kotak teks, dan kemudian klik Mendapatkan penulis. Perhatikan bahwa prosedur yang tersimpan disebut dan bahwa baris kembali mengisi DataGrid.

    Anda dapat memberikan string pencarian SQL Server-jenis seperti G %, yang mengembalikan semua penulis dengan nama terakhir yang dimulai dengan huruf "G."

Pemecahan Masalah

  • Jika Anda tidak dapat tersambung ke database, memastikan bahwa ConnectionString benar poin ke server yang menjalankan SQL Server.
  • Jika Anda dapat terhubung ke database, tetapi jika Anda mengalami masalah saat Anda mencoba untuk membuat prosedur yang tersimpan, pastikan bahwa Anda memiliki izin yang benar untuk membuat prosedur yang disimpan dalam database yang tersambung.

Properti

ID Artikel: 320916 - Kajian Terakhir: 26 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft ADO.NET 1.1
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Kata kunci: 
kbhowtomaster kbsqlclient kbstoredproc kbsystemdata kbmt KB320916 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:320916

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com