I am trying to Insert or Update a record in MSSQL with a datetime variable which is modified using the DateAdd function.
Basically, I have a table of Coupons which need to expire 'x' days in the future. When I use GetDate() for the Issue Date, I have no problems. But then, when I use DateAdd to return a date in the future, I can not Insert or Update this result into the record.
I get various errors having to do with type mismatch or function not found, etc.
If I have a table with 1 or more Nullable fields and I want to make sure that when an INSERT or UPDATE occurs and one or more of these fields are left to NULL either explicitly or implicitly is there I can set these to non-null values without interfering with the INSERT or UPDATE in as far as the other fields in the table?
EXAMPLE:
CREATE TABLE dbo.MYTABLE( ID NUMERIC(18,0) IDENTITY(1,1) NOT NULL, FirstName VARCHAR(50) NULL, LastName VARCHAR(50) NULL,
[Code] ....
If an INSERT looks like any of the following what can I do to change the NULL being assigned to DateAdded to a real date, preferable the value of GetDate() at the time of the insert? I've heard of INSTEAD of Triggers but I'm not trying tto over rise the entire INSERT or update just the on (maybe 2) fields that are being left as null or explicitly set to null. The same would apply for any UPDATE where DateModified is not specified or explicitly set to NULL. I would want to change it so that DateModified is not null on any UPDATE.
INSERT INTO dbo.MYTABLE( FirstName, LastName, DateAdded) VALUES('John','Smith',NULL)
INSERT INTO dbo.MYTABLE( FirstName, LastName) VALUES('John','Smith')
INSERT INTO dbo.MYTABLE( FirstName, LastName, DateAdded) SELECT FirstName, LastName, NULL FROM MYOTHERTABLE
I have a web form with a text field that needs to take in as much as the user decides to type and insert it into an nvarchar(max) field in the database behind. I've tried using the new .write() method in my update statement, but it cuts off the text after a while. Is there a way to insert/update in SQL 2005 this without resorting to Bulk Insert? It bloats the transaction log and turning the logging off requires a call to sp_dboptions (or a straight-up ALTER DATABASE), which I'd like to avoid if I can.
QuestionHow can one update a DateTime field when the change request may alter any of the attributes of the time? (Day | hour | hour & minute).
WHYOf course the whole point of a timestamp is to stamp the time of the record. The problem comes in when the user wants to tweak that timestamp. I am not interested changing anything about the time at the seconds point. The user will only change major time factors.
Platform.Net 1xC#SQL Server 2000Eventually this will be in a Stored Procedure.
I'm working on inserting data into a table in a database. The table has two separate triggers, one for insert and one for update (I don't like it this way, but that's how it's been for years). When there is a normal insert, done via a program, it looks like the triggers work fine. When I run an insert manually via a script, the first insert trigger will run, but the update trigger will fail. I narrowed down the issue to a root cause.
This root issue is due to both triggers using the same temporary table name. When the second trigger runs, there's an error stating that a few columns don't exist. I went to my test server and test db and changed the update trigger so that the temporary table is different than the insert trigger temporary table, the triggers work fine. The weird thing is that if the temporary table already exists, when the second trigger tries to create the temporary table, I would expect it to fail and say that it already exists.I'm probably just going to update the trigger tonight and change the temporary table name.
Hello there,I got a little code there are inserting a record into my msSQL database..But i cant insert the datetime, for one reason?The problem is in line 7 () where i want to insert DateTime.Now 1 Protected Sub SendPmTilAfviste(ByVal modtager As String, ByVal festID As String) 2 ' Connection 3 Dim conn As SqlConnection = New SqlConnection("Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|ASPNETDB.MDF;Integrated Security=True;User Instance=True") 4 conn.Open() 5 6 ' SQL-kommandoen 7 Dim cmd As SqlCommand = New SqlCommand("INSERT INTO marcisoft_PMsystem(laest,fra,modtager,sendt,overskrift,besked) VALUES('<b>Ny!</b>','webmaster1','" + modtager + "','" + DateTime.Now + "','A headline','text text the id " + festID + "')", conn) 8 cmd.ExecuteNonQuery() 9 10 conn.Close() 11 conn = Nothing 12 13 End Sub If i using with ' aroundIt show up with a error, out of range..And if i dont, it show up with another error, problem near 02(02 could be the clock or the month, think clock)Hope someone knows how this is done..
I have a case where I fill a datatable with two column wich contain datetime. Il filled them and everything seems alright in debug. Problem is that when I update with the SQLAdapter, it says that it cannot insert NULL into a datetime column, but the fact is that it is not NULL.
Here what it looks like:
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["BD"]);
I'm trying to update a datetime column from another datetime column. However, I just want the date transferred to the new column without the time. Any ideas? Thanks for your help.
i want to update date field but i am getting error like
update emp set convert(varchar(50),date_t,121) = '2006-03-31 19:56:36.933' Server: Msg 156, Level 15, State 1, Line 1 Incorrect syntax near the keyword 'convert'.
How can I update only the date portion of a datetime field?Example:datetime field = '3/12/1995 12:05:50 PM'How can I change just the day '12' to a '7'Thanks
I have Log table for employees columns : EmployeeID - int In - DateTime Out - DateTime
When employee come ,he press button and program insert new row ( EmployeeID and In ) when he go out he press button and my problem begin : How to UPDATE exactly that row with that EmployeeID and lastest day when he came ?
Hello,I am writing a stored procedure that will take data from severaldifferent tables and will combine the data into a single table for ourdata warehouse. It is mostly pretty straightforward stuff, but there isone issue that I am not sure how to handle.The resulting table has a column that is an ugly concatenation fromseveral columns in the source. I didn't design this and I can't huntdown and kill the person who did, so that option is out. Here is asimplified version of what I'm trying to do:CREATE TABLE Source (grp_id INT NOT NULL,mbr_id DECIMAL(18, 0) NOT NULL,birth_date DATETIME NULL,gender_code CHAR(1) NOT NULL,ssn CHAR(9) NOT NULL )GOALTER TABLE SourceADD CONSTRAINT PK_SourcePRIMARY KEY CLUSTERED (grp_id, mbr_id)GOCREATE TABLE Destination (grp_id INT NOT NULL,mbr_id DECIMAL(18, 0) NOT NULL,birth_date DATETIME NULL,gender_code CHAR(1) NOT NULL,member_ssn CHAR(9) NOT NULL,subscriber_ssn CHAR(9) NOT NULL )GOALTER TABLE DestinationADD CONSTRAINT PK_DestinationPRIMARY KEY CLUSTERED (grp_id, mbr_id)GOThe member_ssn is the ssn for the row being imported. Each member alsohas a subscriber (think of it as a parent-child kind of relationship)where the first 9 characters of the mbr_id (as a zero-padded string)match and the last two are "00". For example, given the followingmbr_id values:1234567890012345678901123456789021111111110022222222200They would have the following subscribers:mbr_id subscriber mbr_id12345678900 1234567890012345678901 1234567890012345678902 1234567890011111111100 1111111110022222222200 22222222200So, for the subscriber_ssn I need to find the subscriber using theabove rule and fill in that ssn.I have a couple of ideas on how I might do this, but I'm wondering ifanyone has tackled a similar situation and how you solved it.The current system does an insert with an additional column for thesubscriber mbr_id then it updates the table using that column to joinback to the source. I could also join the source to itself in the firstplace to fill it in without the extra update, but I'm not sure if theextra complexity of the insert statement would offset any gains fromputting it all into one statement. I plan to test that on Monday.Thanks for any ideas that you might have.-Tom.
Hi everyone,I need help in inserting a date time string to sql sever. For example, how do you insert textbox1.text="2006-08-30 09:00:00" into a datatable column names starttime (type datetime) in sql sever? How do I covert the format of this string before I do the insert?Thanks.a123.
Hi everyone,How do you insert this string value lable1.text="2006-08-30 09:00:00" into a data column like startdate (type: datetime) in sql sever?How do I convert this string value before I insert it into sql sever? Thank you very much.a123.
Does anyone have a simple way of inserting a NULL value into sql 2000 datetime. I'm using vb.net. All I want is if the user does not enter a date in a textbox to to send a NULL value to the DB instead of having the db enter the default value as 1/1/1900. Thank you
I have very little C# experience and I am in over my head here. This script will insert all data into the data base after I have removed all refference to the date.
I know I have to change the datatype in code, but I have tried everything I can think of.
Any suggestion would be greatly appreciated.
The .aspx.cs file is below:
using System; using System.Configuration; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.IO; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;
private int SaveToDB(string newsTitle, string newsBody, string d, byte[] imgbin, string imgcontenttype) { //use the web.config to store the connection string SqlConnection connection = new SqlConnection(ConfigurationSettings.AppSettings["connString"]);
SqlCommand command = new SqlCommand( "INSERT INTO Cover (cover_title,cover_body,cover_date,cover_image,cover_imgcontenttype) VALUES ( @news_title,@news_body,@news_date,@img_data,@img_contenttype )", connection );
I'm still having a problem inserting date fields into sql server.
I don't understand how it accepts datetime.
I have all of my date columns defined with datetime format and all of the dates are coming out as the default of: 01/01/1900.
I tried to insert the data as string and sql server doesn't understand that format. Here's some of the code:
We're going from flat VSAM files to an sql server database. This is one huge sql insert statement with about 75 fields being loaded into a table so I'll only post one the date fields. Here's where I call the String functions from:
First, I have to uncomp the field from binary to String:
(lsDet1 is a concatenated String of the SQL Values to be inserted)
And Here are the two functions: The date field is coming in like: 1991112 where if the first character is a 1, the year is 1900 and if the first character is a 0, the year is 2000. I get correct fields in my message box like 1996/12/31 but then I don't know what sql server does to it in datetime format. When I check the database table it looks like: 01/12/1900
Maybe there is something wrong with my Convert_Date function;
Public Function CompToStr(aCompdata() As Byte) As String 'This is one way in which you can unpack a comp field. As I mentioned, 'you might be better off designing a flexible class to do the 'conversions. At minimum, this function should be expanded to 'accept a data picture as a param (decimal placement and so on).
Dim lsRtnStr As String Dim lsHoldStr As String Dim llCount As Long
For llCount = 1 To (UBound(aCompdata) + 1) Step 1 'loop thru the passed array. lsHoldStr = Hex(aCompdata(llCount - 1)) 'Convert the byte to a Hex string. If Len(Trim$(lsHoldStr)) = 1 Then 'if the highorder nibble was 0 lsHoldStr = "0" & Trim$(lsHoldStr) 'pad it with a leading zero. End If lsRtnStr = lsRtnStr & lsHoldStr 'Concat it to the return string. lsHoldStr = "" 'clear the var for the next pass. Next lsRtnStr = Replace$(lsRtnStr, "C", " ") 'Positive sign replacement. lsRtnStr = Replace$(lsRtnStr, "D", "-") 'Negative sign replacement. lsRtnStr = Replace$(lsRtnStr, "F", " ") 'Unsigned - implicit positive. lsRtnStr = Trim$(lsRtnStr)
llCount = 0 llCount = InStr(1, lsRtnStr, "-")
If llCount > 0 Then lsRtnStr = Right$(lsRtnStr, 1) & Left$(lsRtnStr, (Len(lsRtnStr) - 1)) End If CompToStr = lsRtnStr 'Return the hex string. End Function __________________________________________________ ___________________
Public Function Convert_Date(ByRef ls_sdate As String) As String
'incoming date Dim ls_scent , ls_smonth, ls_sday, ls_syear As String
How do i insert this string "23:58:44.000 UTC Wed May 11 2005" into thedatabase with datetime data format...I tried using:insert into table (startime) values ('23:58:44.000 UTC Wed May 112005')but got Syntax error converting datetime from character string error.So how do i do it??? Thx.
Hello, What is the query for inserting a data and time value for sql ce? and how can i select the rows that are between 2 date values? have tried everything but cant make it work.. thnx in advance. by the way i am using sql mobile 2005 and vs2005..
I have a datetime field named EntryDate in one of the tables. I want to update the timepart of this field and provide a default time of 8:00 AM if there is no time portion attached to this date field. How can i do this?
Dim ldDatetime As DateTime = Now() '11/12/2005 13:05:09 my command text is: "Insert Into WebSiteThread (TransactionDate) Values ( " & " ' " & ldDatetime & " ' " & ") " The result I got was "12/11/3091 13:05:09" Not "11/12/2005 13:05:09" What's wrong please!!
Hi,I want to update a column typed datetime. My statement is:update 'tablename' set Datum_Ende = '2007-12-17 08:49:04.000' where'columnID_name' = 23250 and 'columndate_Name' = convert(datetime,'17.12.2007 08:08:04')This effects an error. The Server said, the dateTime value is out ofvalid Domain.I have tried various statements like this and i think, the problem isthe blank between date and time.Can someone help me?ThanksThomas
Can I roll back certain query(insert/update) execution in one page if query (insert/update) in other page execution fails in asp.net.( I am using sqlserver 2000 as back end) scenario In a webpage1, I have insert query into master table and Page2 I have insert query to store data in sub table. I need to rollback the insert command execution for sub table ,if insert command to master table in web page1 is failed. (Query in webpage2 executes first, then only the query in webpage1) Can I use System. Transaction to solve this? Thanks in advance
the column type of stime and etime in Dabase both are datetime -------------------------------------------------------------------------------------------------- public DateTime loginTime { get { //got user enter page's time return DateTime.Now; } }
//record user's using time when user click exit button protected void Button1_Click(object sender, EventArgs e) { int Member_No = Int32.Parse(cls_login2.GetCurrent_login_Member_no(this.Page)); int Lesson_No = Int32.Parse(Lesson_no); int Prestep = 1; string RemoteIp = Request.ServerVariables["REMOTE_ADDR"].ToString(); string sqlConn = "Insert into pro_Study_log (Member_no,Lesson_no,Study_log_stepid,Study_log_stime,Study_log_etime,Study_log_ip) "; sqlConn += "values(" + Member_No + "," + Lesson_No + "," + Prestep + "," + loginTime + ", getdate(), '" + RemoteIp + "')"; SqlConnection connLog = new SqlConnection(StrConn); SqlCommand cmdLog = new SqlCommand(sqlConn, connLog); cmdLog.CommandType = CommandType.Text; connLog.Open(); cmdLog.ExecuteNonQuery(); connLog.Close(); ----------------------- and then I got error message on column Study_log_stime I also trid set the dateimt tostring , still doesn't work..
I don't know where I did wrong... pleae help many thanks
I keep trying to insert a Value in a field called Category and DateTIme in a field called date but I keep getting this error The datetime field in the database is a data type DateTime. I converted the varible into a ToString, I put it in a Convert.In32() method, I even set the varible to a DateTime datatype. doesnt work. whats wrong ? Server Error in '/WebSite1' Application.
Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: CS1502: The best overloaded method match for 'System.Data.SqlClient.SqlParameterCollection.AddWithValue(string, object)' has some invalid argumentsSource Error:
Line 33: cmd.Parameters.AddWithValue("@Category", NewCat.Text); Line 34: DateTime Date = DateTime.Now; Line 35: cmd.Parameters.AddWithValue("@Date",Date.ToString); Line 36: Line 37: trySource File: c:Documents and SettingsCompaq_OwnerMy DocumentsVisual Studio 2008WebSitesWebSite1AdminCat.aspx.cs Line: 35 Show Detailed Compiler Output: