/ / Establecer datetime en SQL - asp.net, sql, datetime

Establezca datetime en SQL - asp.net, sql, datetime

Estoy deseando establecer la hora actual en mi base de datos

Mi columna es un formato de "fecha y hora"

Mi inserción de SQL es la siguiente.

// Set last login
DateTime date = DateTime.Now;
string insertSQLDet = "INSERT INTO [dbo].[user] (last_login) VALUES (" + date + ") WHERE user_id=" + user_id;

Pero me sale un error que dice que tengo incorrecto cerca de "DÓNDE". ¿Alguien puede ver lo que está mal?

Respuestas

2 para la respuesta № 1

¡Mi conjetura! quieres actualizar el last_login campo así que usa el UPDATE declaración y siempre usar parámetros.

DateTime date = DateTime.Now;
string sql = "UPDATE [dbo].[user] SET last_login=@date WHERE user_id=@userid";
using(SqlCommand cmd=new SqlCommand(sql,conn))
{
cmd.Parameters.Add("@date",SqlDbType.DateTime).Value=date;
cmd.Parameters.Add("@userid",SqlDbType.VarChar,20).Vaule=user_id;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}

1 para la respuesta № 2

INSERT Las declaraciones no permiten predicados, porque no estás seleccionando nada. ¿Querías emitir un UPDATE ¿declaración?

"UPDATE [dbo].[user] SET last_login = " + date + " WHERE user_id = " + user_id

Además, te recomiendo fuertemente que utilizar parámetros para proporcionar valores.


1 para la respuesta № 3

¿Qué RDBMS estás usando? MSSQL o MySQL? no tiene que pasar a un parámetro si desea obtener la fecha y hora del servidor. hay una función que automáticamente obtendrá la fecha y hora del servidor.

para MSSQL Seleccione GetDate () como ServerDate para MySQL seleccione TIMESTAMP como fecha de servidor


0 para la respuesta № 4

No estás seleccionando filas de ninguna otra tabla. Usted está dando manualmente los valores por los que no puede usar la cláusula where en esta situación.

Si está intentando actualizar, la siguiente consulta funcionará para usted.

"UPDATE [dbo].[user] SET last_login = " + date + " WHERE user_id = " + user_id

0 para la respuesta № 5

No necesita pasar datetime como parámetro. Solo puede seleccionarlo en el servidor dentro de la declaración de inserción. También puede usar consultas parametrizadas para vincular sus parámetros.

string qry="INSERT INTO [dbo].[user] (last_login) VALUES  ((SELECT CURRENT_TIMESTAMP)) WHERE user_id=@userId"