Forms Data Controls :: Differences Between Datareader And Dataadapter?
May 20, 2010what are differences between datareader and dataadapter?
View 2 Replieswhat are differences between datareader and dataadapter?
View 2 Repliesi'm developing a website to my office, i have a question related data loadinf performance related.
dataadapter.Fill() or dataTable.Load(Datareader) give the best performance in asp.net ??
I have almost got this all working but one thing. What i am doing is SELECTING a number of details from a table which is for job vacancies. I am then displaying the job_name, a short description about the job and finally the location's the job is available in..If you look on this page:http://kidsunlimited.co.uk/vacancies_test.aspx
You will see a list of Vacancies shown BY job name. The problem occurs when the job is available in more than once location. Take a look at the Cook vacancy. It should be reading as Cook, then the description and then location which in this case there are 2.But instead it mixes them up and displays one location before the description and one after..This is the code i have :
[Code]....
The problem is on this line i think:
[Code]....
1. As per my knowledge we use dataadapters/dataset when we want to deal with the huge amount of column/data. Is there anyway that if I want to update one or two columns in a table without using dataadapter/dataset?
2. There is a way that without clicking a button we can get the data using objectdatasource, I mean to say that there is no vb.net data in the code behind then how to debug if there is not data in vb.net in code behind.
i'm tring to read data from a sql DB, where is email == mystring - then display its name here is the code:
string mystring;
mystring = "email@email.com";//"Welcome " + System.Convert.ToString(Session["user"]);
generalTableTableAdapters.kurtula_generalTableAdapter generals = new
generalTableTableAdapters.kurtula_generalTableAdapter();
generalTable.kurtula_generalDataTable genaraltab = generals.Getgeneral();
foreach (DataRow row in genaraltab.Rows)
{
if (Convert.ToString(row["email"])== user)
{
Label1.Text = System.Convert.ToString(row["name"]);
}
}
as you can see I'm a table adapter but is giving me the following error: i realy dont know what this error means - though i did a simular action using access DB (and it did work), where i had to user the following: using System.Data.OleDb; now because im using SQL DB im using: using System.Data.SqlClient; //sql server
I have created column headings for the gridview dynamically and now I want to fill the gridview with data that is retrieve through a stored procedure. If set gridview.datasource = cmd.ExecuteReader, get the table headings as well. So if guest I need to loop and add data one row at a time. To create the headings I used the following example:
Dim EmailRecipientID As New BoundField
EmailRecipientID.HeaderText = "Email Recipient ID"
gvEmailRecipient.Columns.Add(EmailRecipientID)
I have bind a gridview with a datareader. Now i want the following functionality on it:
1- Row selection funcionality
2- Row Update functionality
3- Row Delete functionality
I know its quite easy when Gridview is bind with dataset but Is there any possibility to get it done through datareader object. If am looking to get the delete and update functionality down through store procedures that wound be called upon action.
i want to bind agrid view using datareader
View 4 Repliesi have ParentDataLits and this ParentDataList Contains Man Childs DataLists,
i want to know how i can Bind them with the Same DataReader without using any Collectins , Arrays ...ect?
if this is not possible whats the good solution for that? note: i dont want to update or delete these data, only dislpay them.
I have a field in sql select statement that I want to read to a datareader and convert that value from the field to a word to display in a datagrid. i know that sounds confusing but let me give you an example.
I have a field called duration_interval in a sql table and it has data values of 'ww' for Weeks, 'dd' for Days and 'mm' for Months. When I load the Datagrid I want the field for this value to say Weeks instead of ww, how do I convert the 'ww' value to show the word Weeks in the datagrid? Below is the select statement and the code for the datareader I have on my page now that isn't working correct:
[Code]....
- i have two drop down lists- ddl_SelectClient, ddl_SelectApplication
- when a client is selected in ddl_SelectClient, i have to show the list of the clients applications in ddl_SelectApplication
- i have written the below code in the ddl_SelectClient_SelectedIndexChanged routine to do the same
- i am getting the error("Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack") in the catch block when the ddl_SelectApplication gets binded
[Code]....
I have no problem when paging my FormView, the dropdownlist does not read the next record and keep the value of the first loaded record? All other textbox control behave normally and move from record to record excepted the ddl??Here the code.
Public Sub DoData()
Dim myConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)
Dim myCommand As SqlCommand = New SqlCommand("SelectSupplier", myConn)
myCommand.CommandText = "SelectSupplier"
[Code]....
I'm having a method that exports content from the database to excel files. The method taks as paramaters a DataReader param and a int param - the number of rows. For the number of rows i'm using a dataset, wich i fill using the same query as for the datareader. So I'm executing it twice... Is there a way I can avoid that? get the number of rows from the datareader?
View 1 RepliesMy griedview code :-
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" RowStyle-BackColor="Black" Font-Names = "Arial" Font-Size = "10pt"
HeaderStyle-BackColor="Black" HeaderStyle-ForeColor="Black" ForeColor="Black" AllowPaging ="true"
OnPageIndexChanging = "OnPaging" PageSize = "5">
[Code] ....
Error is:- The data source does not support server-side data paging.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception
Details: System.NotSupportedException: The data source does not support server-side data paging.
Source Error:
Line 34: con.Open();
Line 35: GridView1.DataSource = cmd.ExecuteReader();
Line 36: GridView1.DataBind(); Line 37: con.Close();
Line 38: }
i have a datareader who read from data field from sql server, this field is datetime format now, when this field is null it returns 01/01/1900!! how can i manage it without if or some check, is there a property in datareader or sqlserver properties who i can return null value from datetime field?
View 4 RepliesI am getting an error that an open DataReader associated with this Command, when I'm not using datareader(though probably executereader() is the same thing) how would I close this if I don't have a datareader present?
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
SqlCommand cmd = new SqlCommand("spSelectAllTypes",conn);
cmd.CommandType = CommandType.StoredProcedure;
[code]...
I just want to be able to databind a bunch of dropdownlist in one open connection. (before I had multiple open and closes for each control)
How could I add parameters on dataadapter? I tried
[Code]....
But parameters is unknown for dataadapter.
public static DataSet GetSubCategories(int category_id)
View 4 Repliesi am having a datatable with 10 rows.
Out of this 10 rows 3 Rows have their RowState as Added, 2 rows as Modified, and 4 as Deleted.
Now i want to use Datadapter's InsertCommand, UpdateCommand and DeleteCommand
Is it possible to update datatable's changes to Database with Single DataAdpater.Update(DataTable) Call.
Means i will call DataAdapter.Update(DataTable) method only once and with this all new added rows should be inserted in database, modified rows should be updated and deleted rows should be deleted from Database.
Im trying to do the batchinsert (bulk) in sqldataadapter using dataset.but somehow its not inserting (even no error as well), i dunno where i went wrong.my coding..
Dim _cmd As New SqlCommand
I am not sure how to do this. I would like to merge the identity back into the dataset.
View 2 RepliesMy code is not updating the sql database. I am definately passing the correct information in to this function, and it runs without errors. If I exec the procedure with the passed in data, it works great. Can someone tell me what is missing?
public DataTable UpdateEmailList(int listId, string connectionString, DataTable EmailList)
{
//DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(null, conn);
SqlCommand cmd = null;
//add
cmd = new SqlCommand("dbo.fp_ServiceAwards_AddEmailToList", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@emailList_id", SqlDbType.Int)).Value = listId;
cmd.Parameters.Add(new SqlParameter("@email_address", SqlDbType.NVarChar, 255, "email_address"));
cmd.Connection = conn;
da.InsertCommand = cmd;
//delete
cmd = new SqlCommand("dbo.fp_ServiceAwards_DeleteEmailFromList", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@emailList_id", SqlDbType.Int)).Value = listId;
cmd.Parameters.Add(new SqlParameter("@email_address", SqlDbType.NVarChar, 255, "email_address"));
cmd.Connection = conn;
da.DeleteCommand = cmd;
try
{
da.Update(EmailList);
}
catch (Exception ex)
{
string msg = ex.Message;
}
conn.Close();
conn.Dispose();
return EmailList;
}
i am having the problem that i am using datareader to get contents in my asp.net page.But the page takes a lot of time to load.How to decrease the loading time of the apage and increase the performance of my page.
View 1 RepliesI have a DataSet containing a small two-by-two table. When I call the da.Update(DataTable) method, I get the infamous DBConcurrencyException. However, the change does get updated in the actual database. What's up with that? I checked the RowState for both rows and one is Modified while the other is Unchanged. I would very much like to get rid of that exception!
View 1 RepliesI am getting the following error when i am trying to assign values to controls on form via datareader, i know i got one row. but this particular field has no data in it.
I do have lot of other forms where i use the same style
getting this error: invalid attempt to read when no data is present
on this line: If gDatareader("CutoffDate") Is DBNull.Value Then