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 am

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 に答える