Forms Data Controls :: Deleting A Record In Gridview Using A SQLDataSource?
Feb 6, 2010
I have a gridview and a SQLDataSource control. In my gridview I have 2 commandfields "Edit" and "Delete"
The "Edit" command field works as expected. Using the "Delete" command field I get the error below.
Server Error in '/DataControls' Application.
The DELETE statement conflicted with the REFERENCE constraint "FK__titleauth__au_id__0CBAE877". The conflict occurred in database "pubs", table "dbo.titleauthor", column 'au_id'. The statement has been terminated.
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.Data.SqlClient.SqlException: The DELETE statement conflicted with the REFERENCE constraint "FK__titleauth__au_id__0CBAE877". The conflict occurred in database "pubs", table "dbo.titleauthor", column 'au_id'. The statement has been terminated.
I am using a Gridview inside an UpdatePanel. I am using the RowCommand method to call my code to delete the record. The gridview is bound to a <list> collection. I am unable to get the Gridview to postback / refresh after the users deletes a record; however, if I refresh the page in the browser and the page loads, it obviously is gone. I have searched quite a bit on this where others are having problems but nothing they did work for me, so I was hoping someone could review my code and let me know what I am doing wrong.
Here is my ASPX:
[Code]....
Here is my C#
[Code]....
When I step through the code, the postback happens and then my delete code is called, so once the delete code happens, the page is already finished loading, which seems to be my problem.
Using vb.net/asp.net 2005.I have an inner gridview.The outer gridview is "Authors" and in the inner gridview (GridView1 below) I have to set it up so that the user cannot delete the last book from the inner grid, if they try to delete the last book from that inner grid then I want to show the exception message below.
So I am checking the GridViewRows1.Rows.Count which works great when I have one record (one book) to start with. The problem is when I have 2 books (for example). I am writing out the test statement below and the RowCount is always 2 each time, never decremented, even after I rebind.Editing this now: i realize that my initial logic is faulty because when I rebind my inner gridview I am not specifying which inner gridview so the result is that only the last inner gridview is being re-bound, so I think that I need to get the selected inner gridview and then refresh that...
I've been googling for 2 days for the solution, but I couldn't find something useful. The problem is that I have GridView that is connected to the SQL database and that is how it is being populated. I added EDIT and DELETE buttons in the columns, but as far as I can see the event which handles them is empty.
I am having trouble changing page numbers on my gridview after deleting a record if the deletion of the record causes there to be no more records on that page. Currently I have a form below the gridview that adds a record to the datasource of the gridview.
[Code]....
Code behind stuff:
[Code]....
Now with this code above, if I insert a new record using the form below the gridview, it will reload and go to the new page if the insertion causes the record to appear on a new page, however when I delete that record, thus causing nothing to be on that page, the gridview visually just dissappears. I've got the gridview bound by a linqdatasource control, and on the page_load function I only databind if the page is not a postback.
I have one SqlDataSource control as DataSet with enable caching in one page aspx. Filtering is applied to this SqlDataSource control, so that the page always returns one record data.
My question: How to get the record data value from SqlDataSource control (one record data value) and store it as String variable?
I am using paging to my gridview (pagesize=4) . now i am in (X) page and i want to get (X+1) page top record or (X-1)page bottom record , how i can get .
I want users to select a record in the GridView and then have that record open up in the Detailsview. How would I go about getting these two tools to communicate?
i have design a web application having suppliers table using SqlDatasource..
i have a master page in my design and other form are bound to a context menu..
Now i have displayed the records in the gridview..all i wanted is after i select a record in the gridview it will display the selected record in detailview from another aspx form..
i was able to create the link to another aspx form but the data that it display is the first data from the gridview not the data that i select.
I am using VS2005 and SQL Server 2005. The problem I am having is when I call my SQLDataSource to delete rows the delete is firing twice. The trace and debugging show the code executing once. In fact right after the delete, the table only shows one delete, but right after the command function is exited the 2nd row is deleted. Also, I have tested the stored procedure to make sure it only deletes 1 one and then resequences the records.Show below are excerpts from my .aspx and code behind files.
I've got a GridView that's databound to a DataTable that I have stored in Session. I want to be able to add a LinkButton into this gridview so I can delete rows from the DataTable, however, I need to reference the rows in the datatable somehow.
I figured the simplest was
[Code]....
but the problem is, I need to somehow cross-reference the particular row I want deleted.
Would like to know how can I delete all the session state data (Empty Cart) and deleting a single row from the gridview while still in session state. (Remove Item).
I have a gridview that shows all data from a table. DataNames includes KeyId, which is a Primary Key.Yet when I try to delete a record, nothing happens, the page appears to performa refresh but the record is still there.Edit does not work either. I used the wizard to build all of the queries, they look okay. But I cannot figure out why they are not working.
m using gridview to display records from sql server2005. In gridview, I have a field containing checkboxes. Now what i want that the fields against which a user checked in checkboxes that will be deleted by clicking on delete button just like the emails yahoo, gmail etc How can i do so?
I have a small website with a database. Just two tables for personaldata and for files belongs to the personal data.
This files are stored on HD. My problem is to delete this file by clicking on delete button within gridview. At the moment only the record is deleting but not the file which belongs to this record.
That is my Gridview:
[Code]....
and that is my codebehind file:
[Code]....
and see the screenshot. (how it looks like)
i get allready help here to create the right codebehind file for that.
i have tried that this way:
[Code]....
But i think instead of txtFile.Text the filename of thefile should be readed out of the database on this place or Im wrong?
I have a gridview,sqldatasource and a link button for delete in the sample code below
When Delete is click the confirmation pops up. When I confirm yes, the rowdeleting event doesn't seem to be firing. I addeed a label to see if the event is firing. To avoid runtime errors I added a dummy but actual sql delete command. Once If I get it to work, I want call a stored procedure to delete the row.
My question is
1. Why is the gridview row deleting event not fired.
I modified a GridView control to enable alphabetical paging, and in doing so had to bind the GridView manually in the code behind rather than using the ObjectDataSource I had used originally.
Now my "delete" command in the GridView isn't working. I get that I need to handle this in the code behind now that I'm no longer bound to the ObjectDataSource.
But I'm not sure how to do that in C# and am not finding any examples.
I have a gridview in which update and delete is enabled.
I have the following fields in database table, which is binded to the grid view through sql datasource.
ID,Firstname,Lastname,Add,City,modifieddate. Here ID is primary key.
1. When edit and delete is enabled in the grid. The ID column is showing in the grid,which i don't want to show. But without that ID column the grid is not able to update and delete. Plz tel me how to update and delete without ID column in grid.
2. When ever any update is happen in the grid, the modifieddate should get updated. Here the date is not datetime.now , i need to use my own system date and time. Coz my server and system time has some difference.
I have use the following javascript to get system date and time, which is working fine. This date should be get and update in the modified column.
function displayTime() { var m_names = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); var localTime = new Date(); var year = localTime.getYear(); var month = localTime.getMonth() + 1; var date = localTime.getDate(); var hours = localTime.getHours(); var minutes = localTime.getMinutes(); var seconds = localTime.getSeconds(); var div = document.getElementById("TextBox1"); div.innerText = date + "-" + m_names[month] + "-" + year; }
Before I begin, I would like to acknowledge that I might be using incorrect terms below due to my lack of experience.
I have a GridView bound to an ArrayList of Custom Objects. I have a button as part of each row, which when clicked, I delete the row from the Arraylist, and re DataBind() the GridView. While this deletes the Row, it causes the Page to be refreshed that takes the User back to the top of the Page.
E.g. If the User clicks on the button of a row at the bottom of the Page, after the deletion, the Page gets refreshed and the User is now taken to the top of the Page.
This is irritating especially in long lists i.e. GridView with many rows. (I don't want to use paging here.) Is there any way to avoid this, or mitigate this problem.
I am tring deleting the image in the gridview and in folder where it locate . My page in the update panel write a funtion to delete in the delete button event , it not working in update panel when i comment the update panel then it working properly.
how can i retrieve the all foreign keys against a single primary key. i mean to say that if a table contain a primary key then it becomes as foreign keys in which tables.
i want to take that nam of that tables and on the base of that tables then i am to delete from all the entries. e.g: if a primary key's column entry deleted then all foreing key entries should also be deleted.
there are 988 tables in a single database. it can't be possible to go for each table to setup foreign key to ON DELETE CASCADE.
.can it have any way to delete against foreign key priority wise? mean to say that parent table contain primary key, child table contain foreign key , now there is another child table which dependent previous child table. then how can i delete all record against it?
i want to do it from programatically. i am using sql server 2005
i have completed this till to that , it retrieves all foreign keys but how to delete now on the base of priority.
COMPLETE NOOB, dont know anything.. I have a Virtual directory ~/ClubInfoFiles that i upload some files too using a uploader i made. I might want to change the uploader i made to be able to change to a subdirectory or something so i can upload all files into one folder but different subdirectorys. the uploader i would like to be able to have a dropdown menu of all the subdirectorys within "ClubInfoFiles" say i has subfolders : Minutes, Flight Plans, Maintence Records, etc... but i would also like a field to where i can create a new subdirectory and have it automaticly update the dropdown. i want to list those files in gridview and have a link to dowload/open and dellete the files. i have found some code that gets close but it uses Auto Generate columns. really i dont need all that jazz, just the Name, File extention, and hyperlink the file for download/view. i would like to be able to delete and possible upload using the gridview... is this to much for a noob?