DataSource Controls :: Relational Field Not Updating On Update?
Mar 1, 2010
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.
I have a gridview where I am using the update. I have converted the label into a templatefield and added a dropdownlist which is getting polulated in the Rowdatabound event. When I test the update i get an error
Cannot insert the value NULL into column 'StartTime', table 'HTC.dbo.EventDates'; column does not allow nulls. UPDATE fails.The statement has been terminated. so I am ussuming its still trying to update from the label rather than using the dropdownlist. here is my code:
I have a gridview and sqldatasource in a form. My sqldatasource has select,delete and update command. The delete command is working but the update doest not work when I click the update command field.
I have a situation where I have a file with each Account Record contains Monthly Expense Total Fields and Monthly Budget Fields for 2009, 2008 and 2007. I'm working with 72 fields (36 Expense and 36 Budget).
Need to create New Year Proceure that will shift data from 2008 to 2007, 2009 to 2008 and move Zeros to 2009 for both Expenses and Budgets.
I can do this using Parameters and Update SQL but I am under the impression that I must specificaly name each field in defining Parameters and SQL Update Command.
Since all fields are sequential withing a record, is there a way that I can use a For/Next loop to index my way through the fields moving data from one year to another?
When using DataReader I'm able to use reader.item(index) to access data record fields.
I have a datatable for which i'm defining a dataadapter. I'm specifying an updatecommand with sqlparameters for the dataadapter I set the updatecommand's parameters using the following overload:
[Code]....
The length 16 is used because this is the length of the field according to sql (the image datafield is a pointer of size 16) I noticed .Net is actually truncating the string because of the length i'm setting. An image of size 3kb will properly upload if we set the length field to be greater than 3kb The question I have is what is the proper value (or strategy) to use in order to set for the length field so that ALL images will properly update to the database, with each using the appropriate size.
I guess i could theoretically set the length to be maxint, but this seems sloppy. Looking at sqlparameter documentation i didnt see an 'unlimited' or 'default' length i could set, which would allow each update statement called to use the appropriate size for the data length for that row.
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.
Dim abc As String abc = Request.QueryString("str") Dim userName As String = CStr(Session("user")) Label2.Text = userName Dim MyConnection As New OdbcConnection(ConnStr) MyConnection.Open() Dim MyCommand As New OdbcCommand MyCommand.Connection = MyConnection If MyCommand.CommandText = "Select userid from week where userid ='" & userName & "'" Then MyCommand.CommandText = "Update week Set value = '" & abc & "' where userid ='" & userName & "'" Else MyCommand.CommandText = "INSERT INTO week (value, userid) VALUES('" & abc & "','" & userName & "')" End If MyCommand.ExecuteNonQuery() MyConnection.Close()
i need to update one field in a tabel just to +2 and i can not find out how to do it the code i have write until now is just to find the field i has to update this i the code
[Code]....
write the last code there can +2 to a.point field in my db
I have a gridview which shows a list of data... at the end of each item I have added a button which is linked to the onclick event... when a button is clicked I want a value to update on that specific row... but I can't get it to work :( my code is below...
SqlDataSource 1 code...
UpdateCommand="UPDATE [PurchaseProduct] SET [BDConfirmSent] = 'Yes' Where [Id] = @Id"> <UpdateParameters> <asp:Parameter Name="Id" /> <asp:Parameter Name="BDConfirmSent" /> </UpdateParameters>
Code Behind...
Protected Sub SqlDataSource1_Updating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs) Handles SqlDataSource1.Updating e.Command.Parameters("@BDConfirmSent").Value = "Yes" End Sub Protected Sub Button1_Click() SqlDataSource1.Update() End Sub
When I click the button it just postsback the page but then the [BDConfirmSent] field is still empty instead of being "Yes"
I am trying to update my table ARTICLES and it has a field COUNTER, Everytime a user enter this ARTICLES, the page_load event runs a LINQ to SQL query taking the QueryString as parameter, increasing the COUNTER field in 1.
I'm using a formatting expression with a template field. When the details view goes into edit mode the formatting is applied. It looks great because it applies the currency formatting. It shows up as "$60,000.00" instead of "60,000.0000". But then when I do the update it gets rejected because of the $. Is there a way to keep the formatting for the user to see in edit mode but remove the $ when doing the update so I don't get the error?
The error: Exception Details: System.FormatException: Input string was not in a correct format.
I have a Modified Date and Modified By column in my gridview and I want them to be updated with the current date and current user any time a user updates the row.
I converted my columns to template fields and the textboxes in the edititemtemplate are bound to my sql data columns "ModifiedDate" and "ModifiedBy"
Then I added the attached code in my RowUpdating event.
When I test the code and click the Update link on my gridview I don't get an error but the values don't update either. I put a breakpoint on the code and when I hover over "ModifiedDateLabel.Text" I see the old value of the field so I know I'm accessing the control correctly.
The original Item Template was Enabled ="false" I changed this so that you did not have to set the row to a state of edit in order to just select a row. I enabled it so that you could "select" any row with out putting it in a state of edit. the only value changing is if its selected or not. What i am trying to do is use the Data Source Update method to update the bit in the database based on the check box. Currently Update() returns 0. I believe this is because the row/feild is not marked as changed so the Data Source does not see it as something that needs to be updated.
What I am hoping for out of this is post is a way that the rows whom check value has changed to be marked as changed/edited so that the data source will update the database with the values of the check boxes. If all rows are updated this is acceptable as well. I know this is a super simple solution but i have been out of the .NET for a little bit.
I have a 20 to 30 fields on a form. Most of them are optional. However, the users can fill out what they want. If a user dosen't fill in a field when data is sent to the database it's sent as blank, instead of NULL. Is there a way I can generically say "for all textboxes if Equals("") then DBNull.Value". Without going through each and every textbox?
I created a gridview that is bound with an SQL datasource - I added a gridview button column. I need to update/insert 'Y' on a specific cell in the row when I press the button
This is my gridview code
[code]....
The button column I have says delete on it but it shouldn't really delete it - Once I press the button it puts a 'Y' on a column that is filtered out by my sql statement in the sql datasource
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 changed a text field to a template field assigning the selected text and the selected value is being assigned to another currency field also templated. I get aa error
[FormatException: Input string was not in a correct format.]
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 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.