ใครมีตัวอย่างการทำ store procedure บ้างค่ะ คืออยากศึกษาค่ะ
อยากได้ตัวอย่างทั้งที่เขียนใน SQL Server และก็ตัวเรียกใช้ในตอนเขียน Code program อ่ะ
เรียนมาอาจารย์มะสอน T_T
Tag : .NET, Ms SQL Server 2005, Ms SQL Server 2008, Win (Windows App), C#, VS 2010 (.NET 4.x)
Private Sub btnGetAuthors_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnGetAuthors.Click
Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyDataAdapter As SqlDataAdapter
'Create a connection to the SQL Server.
MyConnection = New SqlConnection("server=(local);database=pubs;Trusted_Connection=yes")
'Create a DataAdapter, and then provide the name of the stored procedure.
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 = Trim(txtLastName.Text)
'Create and add an output parameter to Parameters collection.
MyDataAdapter.SelectCommand.Parameters.Add(New SqlParameter("@RowCount", _
SqlDbType.Int, 4))
'Set the direction for the parameter. This parameter returns the Rows returned.
MyDataAdapter.SelectCommand.Parameters("@RowCount").Direction = ParameterDirection.Output
DS = New DataSet() 'Create a new DataSet to hold the records.
MyDataAdapter.Fill(DS, "AuthorsByLastName") 'Fill the DataSet with the rows returned.
'Get the number of rows returned, and then 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
'Bind the DataSet to the DataGrid.
'NOTE: If you do not call this method, the DataGrid is not displayed!
Grdauthors.DataBind()
MyDataAdapter.Dispose() 'Dispose of the DataAdapter.
MyConnection.Close() 'Close the connection.
End Sub
private void btnGetAuthors_Click(System.Object sender, System.EventArgs e)
{
DataSet DS = null;
SqlConnection MyConnection = default(SqlConnection);
SqlDataAdapter MyDataAdapter = default(SqlDataAdapter);
//Create a connection to the SQL Server.
MyConnection = new SqlConnection("server=(local);database=pubs;Trusted_Connection=yes");
//Create a DataAdapter, and then provide the name of the stored procedure.
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 = Strings.Trim(txtLastName.Text);
//Create and add an output parameter to Parameters collection.
MyDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@RowCount", SqlDbType.Int, 4));
//Set the direction for the parameter. This parameter returns the Rows returned.
MyDataAdapter.SelectCommand.Parameters("@RowCount").Direction = ParameterDirection.Output;
DS = new DataSet();
//Create a new DataSet to hold the records.
MyDataAdapter.Fill(DS, "AuthorsByLastName");
//Fill the DataSet with the rows returned.
//Get the number of rows returned, and then 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;
//Bind the DataSet to the DataGrid.
//NOTE: If you do not call this method, the DataGrid is not displayed!
Grdauthors.DataBind();
MyDataAdapter.Dispose();
//Dispose of the DataAdapter.
MyConnection.Close();
//Close the connection.
}