cesark
Programmer
- Dec 20, 2003
- 621
Hi,
I am displaying a details page in which the details of an offer selected by the user in the previous page is showed. To retrieve the data from the DB and then assign the data to the label controls I use output parameters, but now I am considering using a DataSet or a DataReader instead.
Until now I use this system:
And now I want to use this system:
1. Which system is better? (first example or second one)
2. There is another more effective way to retrieve the data from the DataSet in the second example?
3. It would be better to use DataReader instead of DataSet to retrieve and bind the data to the controls? If so, how can I do it?
Thank you,
Cesar
I am displaying a details page in which the details of an offer selected by the user in the previous page is showed. To retrieve the data from the DB and then assign the data to the label controls I use output parameters, but now I am considering using a DataSet or a DataReader instead.
Until now I use this system:
Code:
Dim CmdOffer As New SqlCommand("offer_detail", strConnection)
CmdOffer.CommandType = CommandType.StoredProcedure
CmdOffer.Parameters.Add(New SqlParameter("@Offer_num", SqlDbType.bigint))
CmdOffer.Parameters("@Offer_num").Value = Request.QueryString("Id")
CmdOffer.Parameters.Add(New SqlParameter("@TheDate", SqlDbType.DateTime, 8))
CmdOffer.Parameters("@TheDate").Direction = ParameterDirection.Output
CmdOffer.Parameters.Add(New SqlParameter("@Offer_title", SqlDbType.varchar, 100))
CmdOffer.Parameters("@Offer_title").Direction = ParameterDirection.Output
CmdOffer.Parameters.Add(New SqlParameter("@Reference", SqlDbType.varchar, 50))
CmdOffer.Parameters("@Reference").Direction = ParameterDirection.Output
CmdOffer.Parameters.Add(New SqlParameter("@Company_name", SqlDbType.varchar, 100))
CmdOffer.Parameters("@Company_name").Direction = ParameterDirection.Output
CmdOffer.Parameters.Add(New SqlParameter("@Web_page", SqlDbType.varchar, 100))
CmdOffer.Parameters("@Web_page").Direction = ParameterDirection.Output
CmdOffer.Parameters.Add(New SqlParameter("@Company_State", SqlDbType.varchar, 50))
CmdOffer.Parameters("@Company_State").Direction = ParameterDirection.Output
CmdOffer.Parameters.Add(New SqlParameter("@City_State", SqlDbType.varchar, 100))
CmdOffer.Parameters("@City_State").Direction = ParameterDirection.Output
CmdOffer.Parameters.Add(New SqlParameter("@Activity_description", SqlDbType.varchar, 500))
CmdOffer.Parameters("@Activity_description").Direction = ParameterDirection.Output
strConnection.Open()
CmdOffer.ExecuteNonQuery
[b]title.Text() = CmdOffer.Parameters("@Offer_title").Value
TheDate.Text() = CmdOffer.Parameters("@TheDate").Value[/b]
If Not [b]CmdOffer.Parameters("@Reference").Value Is DbNull.Value[/b] Then
[b]Reference.Text() = CmdOffer.Parameters("@Reference").Value[/b]
Else
ref.Visible = False
End If
[b]Company_name.Text() = CmdOffer.Parameters("@Company_name").Value[/b]
If Not [b]CmdOffer.Parameters("@Web_page").Value Is DbNull.Value[/b] Then
[b]url_company.Text() = "[URL unfurl="true"]http://www."[/URL] + CmdOffer.Parameters("@Web_page").Value[/b]
url_company.NavigateUrl = url_company.Text()
Else
more_inf1.Visible = False
End If
[b]state_company.Text() = CmdOffer.Parameters("@Company_State").Value
city_company.Text() = CmdOffer.Parameters("@City_State").Value
activ.Text() = CmdOffer.Parameters("@Activity_description").Value[/b]
strConnection.Close()
And now I want to use this system:
Code:
Dim CmdOffer As New SqlCommand("offer_detail", strConnection)
CmdOffer.CommandType = CommandType.StoredProcedure
CmdOffer.Parameters.Add(New SqlParameter("@Offer_num", SqlDbType.bigint))
CmdOffer.Parameters("@Offer_num").Value = Request.QueryString("Id")
Dim add_data_of As New SqlDataAdapter()
add_data_of.SelectCommand = CmdOffer
Dim data_of As New DataSet
add_data_of.Fill(data_of, "Offers")
[b]title.Text() = data_of.Tables("Offers").rows(0).Item("Offer_title").ToString()
theDate.Text() = data_of.Tables("Offers").rows(0).Item("theDate").ToString()[/b]
If Not [b]data_of.Tables("Offers").rows(0).Item("Reference")[/b] Is DbNull.Value Then
[b]Reference.Text() = data_of.Tables("Offers").rows(0).Item("Reference").ToString()[/b]
Else
ref.Visible = False
End If
[b]Company_name.Text() = data_of.Tables("Offers").rows(0).Item("Company_name").ToString()[/b]
If Not [b]data_of.Tables("Offers").rows(0).Item("Web_page")[/b] Is DbNull.Value Then
[b]url_company.Text() = "[URL unfurl="true"]http://www."[/URL] + data_of.Tables("Offers").rows(0).Item("Web_page").ToString()[/b]
url_company.NavigateUrl = url_company.Text()
Else
more_inf1.Visible = False
End If
[b]state_company.Text() = data_of.Tables("Offers").rows(0).Item("State_name").ToString()
city_company.Text() = data_of.Tables("Offers").rows(0).Item("City_name").ToString()
activ.Text() = data_of.Tables("Offers").rows(0).Item("Activity").ToString()[/b]
1. Which system is better? (first example or second one)
2. There is another more effective way to retrieve the data from the DataSet in the second example?
3. It would be better to use DataReader instead of DataSet to retrieve and bind the data to the controls? If so, how can I do it?
Thank you,
Cesar