0

我的 SQL 数据库中有一个 DateTime 字段,我想将时间写入该字段,但我该怎么做呢?

我想将其作为时间戳进行,因此当用户单击“添加”按钮时,它会将数据添加到其他字段,并将时间戳添加到 DateTime 字段中,但我不断收到以下错误

从字符串转换日期和/或时间时转换失败。

这是我在 CS 文件中的当前代码

insertSQL = "INSERT INTO Posts (TopicID, PostBody, PostDate, UserID)"
        + "VALUES ('" + topic + "', '" + newPostText + "', '" + DateTime.Now.ToString() + "', '" + User_ID + "')";

请注意,我希望尽可能多地显示时间信息。例如 2012 年 5 月 23 日上午 10:58:00

4

2 回答 2

4

您的实现很容易出现SQL Injection. 要解决此问题以及您的 DateTime 问题,请使用参数 - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

像这样的东西:

string commandText = "INSERT INTO Posts (TopicID, PostBody, PostDate, UserID)"
    + "VALUES (@Topic, @NewPostText, @PostDate, @UserID)";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(commandText, connection);
    command.Parameters.AddWithValue("@Topic", "My Topic");
    command.Parameters.AddWithValue("@NewPostText", "Post text goes here");
    command.Parameters.AddWithValue("@PostDate", dateObject);
    command.Parameters.AddWithValue("@UserID", "UserA");

    try
    {
        connection.Open();
        Int32 rowsAffected = command.ExecuteNonQuery();
    }
    catch (Exception)
    {
        // Handle Errors    
    }
}
于 2012-05-23T01:53:45.623 回答
-2

你要 strtotime() 吗?

<?php
$d = date('y-m-d');
echo date('d M Y',strtotime( $d ));
echo "<br>";
echo date('Y-m-d H:i:s'); ?>

唉,是我的错,是php的~

于 2012-05-23T01:52:57.753 回答