DataSource Controls :: Add Table Or Fields For Time Card Review?
Jan 21, 2010
I have time card data collected onto an AS400, and have an establed TimeReview.aspx which allows the user to review Time In/Out, etc. I have a request to add some way for managers to review the time and add corrections. I cannot edit direct or add fields to the time table in the AS400. I do, however, have a SQL Server that I could use to collect this information, but I'm not sure of the best way to go about it.
Here's an example of what the table should look like, with the added fields on the right. "X" (Revise) would be a checkbok indicating that this line should be revised. An administrative staff member would pull up the report the next day and manuall edit the time within the AS400.
-- From AS400 table -- -- SQL table --
Time Card info - Empl ID | WO | Date In | Time In | Date Out | Time Out | ---- X (Revise) | Corrected Time In | Correct Time Out
My thought is use an Empl ID field in the SQL table and bind it to the AS400 Empl ID field (not sure how).
I am using the SQLDataReader to execute a Stored Procedure that accepts two parameters (BuildingTID and Department) to return the appropritae Value in my case The Director of the Department. My problem is I get the following error when I run the code that I added below for review. Let me also add that the user is selecting the values that I am using for the stored procedure from 2 DropDownLists. I am getting it when I try to assign the value that is in the Department DropDown list to the first parameter.
Dim myParm As SqlParameter = getDirectorsCMD.Parameters.Add("@BuildingTID", SqlDbType.Int, 15).Value = (ddlDepartment.SelectedValue)
Also obviously there are more issues with my code than just the error because the datareader records property is false meaning I am not returning a row
I am able to store the current time of day in a column defined as time with the C# code as:notestable.NoteTime = DateTime.Now.TimeOfDay;The hour, minutes, seconds, and even millionth of a second is stored. But now, I need to retrieve the time and convert it into a string. I tried to use DateTime statements to accomplish this as with:
Regarding the 'nt' variable, I got an error message that said: Cannot implicitly convert type 'System.TimeSpan?' to 'System.DateTime'.Regarding the 'Hour' designation, I changed the definition of 'nt' to 'var' and got an error message that said: System.Nullible<System.TimeSpan>' does not contain a definition for 'Hour' and no extension method could be found.So, how do I access the time from a table and convert it into a string for display in a TextBox?
My stored Procedure returns two tables say table1 and table2. When I try to fill the dataset, table1 is filling properly and table2 filling only one row of the table remaining rows coming empty. There is no error when I compile the code. And the output is an empty page.
Here the code I've used
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString); SqlCommand cmd = new SqlCommand("TABL", cn); cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter dad = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); dad.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind();
This is the sqlDateTime overflow problem again. Background. As I'm sure you know dates must be between 1/1/1753 and 12/31/2999. If you have an empty date field, it throws and exception. So I created a function (below) that solve the problem when attempting to update or insert a record with a date field. Works great.
Public Shared Function MakeDateField(ByVal pasDate As String) As Nullable(Of DateTime)
If IsDate(pasDate) Then Try If pasDate <= System.DateTime.MinValue Then Return Nothing Else Return CType(pasDate, DateTime) End If Catch ex As NullReferenceException Return Nothing End Try Else Return Nothing End If End Function
So I thought about using a time field. I have the field, have the validator in place and then attempted to test the page. It resulted in my least favorite error message "sqlDateTime overflow".
I can think of several workarounds like adding a date or a fixed date to the time field, or converting it to a string. Each of these is problematic.
IS THERE A BETTER WAY TO UPDATE/INSERT TIME FIELDS.
I've been working on this project which requires me to insert data into a database. Due to the complexities of the function that I am doing, it is more complex to use SqlDataSource and hence I've used the traditional method of inserting to the database. The codes are as follows:
[Code]....
I am not too sure why, but even though I've debugged numerous times and the data gets inserted into the database through the form view, I get this error on the page after everything is executed: Cannot insert the value NULL into column 'reviewDate', table 'ProrsumDB.dbo.Review'; column does not allow nulls. INSERT fails. The statement has been terminated. reviewDate wasn't null when I tried and there are no exception thrown.
my problem is that i have a gridview that fetch the data from database .I added the linkbutton on gridview that redirect to next page but cant working becouse at run time i add a bound field on gridview to calculate the time. source code
If I am going to use the asp.net membership and roles, the asp.net database includes an aspnet_Users table that has the userid and email address. If I have custom fields is it best practice to maintain a separate usert table and link on user id or to add fields to the aspnet_Users table?
Have been trying to update some key fields but cannot get it working. I have the form working fine updating non key fields. I found some old threads on similar topics but none answering my question. I am using a FormView and a sqlDataSource
Question: What steps do I need to take to update key fields using a formview and a sqldatasource?
Additional Information: I have tried the following
Adding OldValuesParameterFormatString="old_{0}" to sqldatasource Adding to update parameters the old_myfield reference Adding DataKeyNames to the formview (note all key fields are in datakeynames and I only want to update the one)also when using the asp parameters do they need to be in same order as query and repeated as many time as used? Or just the same order as first referenced i.e. only defined once? Or any order?
I've been using the FilterExpression for the building of my GridView. I've built with this ability before, normally for searching for the name of an individual. However, the new project I'm working on has a small problem. I'm using an AND statement to filter the name via textbox and I'm also checking if the form was completely finished and if the form is reviewed via radio buttons.
Below is the code, but the problem is this. If any of the fields are blank (text field is left blank or the "both" is selected from the radio buttons) the form doesn't process my filter.
Is there an easy way to apply all three filters in a mix and match fashion (like no name, completed, not reviewed or any combination thereof)?
I was wondering if anyone knows of a good login stored procedure that can be freely used and features login limits and so on (basically a good one) With my limited SP knowledge, I've tried to create one myself, I haven't completed it yet as I'm not sure on how to compare the last login attempt time against the current time (it's in the comments).
How do I check if my value is empty AND Isnull? I need to check for both, using ISNULL is not enough because the data can change just so that it is empty.
Is there a way to list on the fly all fields in object context? in entity framework?
for example in my Log (object context) i have fields LogId, Name, CreateDate
I would like to loop through these dynamically and assign values. This would be useful when my current context changes to another table I would be doing this:
I have an SQL datasource that successfully enters customer details into a table. What it includes is the persons address. First of all we add the persons address, then we add the persons name to that address in a seperate physical procedure. i.e. on a different form.
What I need to do is try and stop users entering the same address twice. The way I have thought of doing this is by making a string field called AddressIdentity and have this contain the door number and the postcode of the address with all the spaces stripped out. Then when adding the address, it checks if this exists before adding it. However I cannot work out how to put the 2 fields together without using the codebehind file, which I don't mind doing if I need to, but I'm sure its avoidable.
Here is my code - I have only included the relevant parts:
but of course AddressIdentity is a string. Do I use ' ' marks with an & sign? Or can't I do this?? Maybe I need to use the codebehind anyway to see if the field exists before inserting it?
ive a DB in access with a single table and no primary key, actually i dont need a primary key but i can consider a date field plus another to make an index. however i want to add a counter field based on every change of date field, for instance ill have many records of 20/May and all must have the same id then when the date is different, the next group of records with that new date must show 2 etc.. is it a quick way to update my database?
At first, I had my datalist being populated by my class 'PM' - I did it all inside the Page_Load event. Since there was a dataset being returned, I could assign different variables to fields in the Datatable, like:
[Code]....
Now, for reasons I won't go into here, I'm changing to an ObjectDataSource, using the same method to do the 'Select' of data... How can I do the same variable assigning, with the ObjectDataSource?
Basically i deal with two tables.i have a table T1 of the following format:id company_name i need to read this data and create a table T2 as followsi wrote the following code. it worked fine for retrieving data and modification but fails to insert the modified data into the 2nd table.the error is, it does not recognise the value for @token
ArrayList dynarr=new ArrayList(); // global variable protected void Button2_Click(object sender, EventArgs e) { int row = 1; int i; string strcmd = null; string Connection = "Data Source=...."; SqlConnection conn = new SqlConnection(Connection); string str = "select company_name from T1 where ID=@ID"; [code]...