DataSource Controls :: SQL UPDATE Statement Not Updating DB?
Feb 24, 2010
I am writing a simple form that will take in data and insert it into a db if it's a new record and update the existing record if it already exists. The insert works fine, but the update isn't working at all, yet the code looks solid to me and everything I've compared it to in my google searches.
I have a simple table. (with PK). I have created a tableadapter that selects all fields and filters with a control parameter. This works fine. The results are displayed within a DetailView control. All okay up to this point. I have then enabled 'Editing'.I can then click on the edit and change the text, but when I click the edit button the page updates but the value has not changed in the database?
I am running an Update statement against an SQL database on server 2008. The update runs but does not update the record, but returns no errors.The database is part of a commercial help desk package called TrackIt 8.5 which was just a fresh install on a new web server and a new sql server. The update is running from a web form we use to automatically create active directory accounts. After the account is created the web form closes out the work order in the Trackit db. This was working fine when the system was running on Server 2003 and SQL server 2005. Running Trackit version 7.02.The login use to access the database has full permissions to read and write to the database, just as it did on the old server which never had an issue updating. Odd thing is, if I log onto the SQL server and make a change to any single field in that record. I can then run the web form and it updates the record normally.
I have a method to execute two "Update" sql statements.
The first one works fine and the second one I can't get to work for nothing.
Here is the entire method:
[Code]....
The error I am getting is "Incorrect syntax near '05'."
It is occuring on the next to the last line which is:
dc.ExecuteCommand(sql);
I update the variable "sql" first so I can debug. At the time it crashes the value of sql is:
"Update Blogs set Status = 'Archived', ArchiveDate = 06/22/2010 05:14:46 PM Where (BlogID != 1) and (Status = 'Published') and (AuthorID = 9e37e028-c205-4903-920e-e8643b30a724)"
It appears to be the ArchiveDate that is causing the problem here. The "05" is the hour of the time portion. Both ArcgiveDate and PublishDate are defined exactly the same in the database. If you look at the first dc.ExecuteCommand it does exactly the same thing with PublishDate (DateTime column) in the same table and it works just fine.
Then I modifed the code and remove the ArchiveDate from the sql statement then I get the error:
"Incorrect syntax near 'e028'."
which as you can see is part of the AuthorIDs value in the where clause. So I am assuming both the date and the Guid / Author ID is causing problems. I have tried enclosing the values in quotes but I just cant make this work even though it seems to be working fine in other places.
I even remove the code for the author ID and left in the code for the ArchiveDate and it still does not work so I have proved that both are causing a problem.
I am trying to update a Single Record in a table. I also trying to join columns of that single record with another table to update prices the prices of that record.
I am using Linq to SQL. Tables have timestamp columns and I am using regular Linq methodology in ASP.NET MVC.I do use detached entities and always try to do updates without first querying the database for the original entity. To update an entity I use context.Attach(entity, true) followed by context.SubmitChanges() and all is fine. The sql statement that gets executed looks like:
i built an oledb update stmt using the syntax from a 4 guys tutorial, http://www.4guysfromrolla.com/articles/071002-1.3.aspx , but am getting the above error
sample how i build an update field into the update string
Dim targetAttendeeCount As Integer = _ CType(e.Item.Cells(0).FindControl("targetAttendeeCountTextBox"), TextBox).Text Dim parmTarAttCnt As OleDbParameter = _ New OleDbParameter("@targetAttendeeCount", OleDbType.Integer) parmTarAttCnt.Value = targetAttendeeCount myCommand.Parameters.Add(parmTarAttCnt)
so none of the variables are being resolved, i know they are being returned from, in this case a datagrid, because i have printed them separately, so am not sure at this point how to get the vars to resolve, i was hoping to not have to use all the quotes + apostrohes and thought the @syntax was simplifying that but not so. is there some way to code this with the @'s?
I have detailsview with a SQLDataSource to 1 table (City) and am referencing another table (Unit) for one if it's fields.
[code]....
I changed the Unit Code (City Table) field into a template field and am using a dropdownlist item to reference the Unit Name from the (Unit Table) with the CityTable.Unit Code = UnitTable.Unit Code. However when I go into the update and change the dropdownlist item to another Unit Name it is keeping the original Unit Code value or it might even be selecting the first value from the dropdownlist item.
in generate the Stored Procedures when using Create TableAdapter configuration Wizard in VS.it can not generate the Stored Procedures for Delete and Update Commands, but it generated for Select and Insert. i tried many times, but still get the same problem.
Scenario: I am creating a custom gridview control which has a custom CheckBoxTemplateField column (deriving from TemplateField class). This template field column has custom Checkboxheadertemplate (implementing ITemplate) and CheckboxItemTemplate (also implementing ITemplate). In InstantiateIn method of both templates (header as well as Item template), I am adding a checkbox control which has Autopostback = true.
My requirement is: I want to mark all the values in the binding column of datasource if checkbox in headertemplate is checked. I dont want to mark only rows visible on grid. I WANT TO MARK ALL ROWS IN DATASOURCE. I want to do this in _CheckedChanged event of checkbox in header template.
Problem I am facing: When I check/uncheck the checkbox in header, it postbacks. so in OnCheckedChanged event, gridview's datasource is null. Secondly, in any event of gridview, I could access only those rows of datasource for which corresponding rows are visible in gridview through Gridviewrow.DataItem property. But I want to set it for all rows in datasource.
I'm quite new to asp.net. I use MS Visual Studio 2008 and MySQL database. When I try to edit a record via gridview and the generated UPDATE syntax I get an error.I inserted a gridview into my asp.net web application and connected it to my database (all is OK). Then I checked for auto generation of update and other syntax:
[Code]....
When I test in a browser I get a pop window form for editing a record. But when I click "update" I get the following error:"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, strSkrajsanNaziv = ?, strKraj = ?, strDavcnaSt = ?, SkupinaID = ? WHERE Stran' at line 1"what's wrong with the UPDATE syntax? Is this syntax only valid when using MSSQL?
I need to loop through a GridView and get the values of a databound field. Then use those values in my update statement.
Here is the GridView:
[Code]....
And here is my UPDATE statement, which is actually just passing the values to a stored procedure:
[Code]....
Right now, I just have it grabbing the text from a label control, but I know that will not work as it only passes one value. I need to be able to update multiple rows based on the del_doc_num.
I have a function that checks for a username and if it finds the username it will allow the user to update the user, there are 3 main columns: Name,Age,isFemale. I have the enduser supply the information and then I try to update the record but I get a sql error for "not a valid" column.console app:
[Code]....
I pass the spIsFemale by using an enum, here is the Person Class with function. [Code]....
I get an error that column isFemale is not valid. The isFemale column is a bit type. If it's a 1, it's a female, if 0 male. this is more of a test area and I'm trying to update records or create new one's if the name does not exist.II am new to C # and I am just trying to learn new ideas and methods within C sharp.
I am using asp.net(C#) as platform for building my application. I want to update the values in the database for the particular user & using the following code:
[Code]....
when I run this code, it works perfectly fine & there's no error, but when I check into the database, the values do not change & remains same. The default value in the database is NULL.
i have a grid form with 3 fields field1 & field2 & field3.
in the insert statement the field 3 gets a javascript function result that uses filed1 & 2 values.
Now what i want in the grid view update statement is : to call the @field 1 & @field2 from the update statement to a similar javascript function..(do soem calculation ) and then re-assign the java function result to the @field3 variable in the update statement..
(//// Or simply what i want is to do the same calcultions onthe fields while perfoming an update operation.. //).
how can i perfom the calculations in a grid view update statament ..
I've done some SSIS package work in the past, but am by no means an expert.
I want to use an SSIS package to do the following:
1. Get the file name of the newest file in a windows folder (using a filename template like his: filename_ *.txt where the * part is always a date in the format of yyyy-mm-dd.
2. Use that file name in later portions of the SSIS package by reading the file and transferring data from it to a SQL table using a Data Flow task.
and use the result (which should be the name of the newest file) to open that file and pull data out of it and into a 2nd SQL table. I admit, I'm not sure how to use the dynamic result of this SELECT query as the file name in a flat file connection manager.
I am rather confused as how or where to declare this variable in asp.net.
[Code]....
Whenever i put this in my sqldatasource for it is asking me to Define Parameters:
The wizard has detected one or more parameters in your SELECT statement. For each parameter in the Select Statement, choose a source for the parameter's value.