ASP.NET C# + SQL 如何向数据库插入当前时间?

2013 年 12 月 28 日3340

ASP.NET C# + SQL 如何向数据库插入当前时间?

想做一个新闻发布系统,在发布页插入数据库时需要插入一个当前时间~
如下:
string str1 = TextBox5.Text;
string str2 = TextBox6.Text;
DateTime now = DateTime.Now;
SqlConnection conn = new SqlConnection("***");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
// 获取用户名称
cmd.CommandText = "select users_name from users where users_id = " + Session["Users_id"];
SqlDataReader data = cmd.ExecuteReader();
data.Read();
string users_name = data[0].ToString();
data.Close();
// 插入数据
cmd.CommandText = "insert into news(news_title,news_date,news_user,news_contents) values('" + str1 + "'," + now + ",'" + users_name + "','" + str2 + "')";
cmd.ExecuteNonQuery();
conn.Close();

提示好像now那边的语法错误
我尝试了response now的值显示为 yy/mm/dd 00:00:00 好像这种格式是无法写在SQL语句中的

cmd.CommandText = "insert into news(news_title,news_date,news_user,news_contents) values('" + str1 + "'," + DateTime.Now + ",'" + users_name + "','" + str2 + "')"; 再不行的话你可以'" + DateTime.Now + "',单引号试试.

因为你的插入语句中,时间now也是要加引号的insert into news(news_title,news_date,news_user,news_contents) values('" + str1 + "','" + now + "','" + users_name + "','" + str2 + "')

你也可以在数据库表中把这个字段的默认值设为getdate().
代码中就可以不用管它了,
insert into news(news_title,news_user,news_contents) values ('值','值','值')

插入当前时间,两种时间,看您要插入web站点时间,还是数据库时间.
前者请用DateTime.Now.ToString()取得,而后者可以用GetDate()取得.

插入当前时间,两种时间,看您要插入web站点时间,还是数据库时间.
前者请用DateTime.Now.ToString()取得,而后者可以用GetDate()取得.

插入当前时间,两种时间,看您要插入web站点时间,还是数据库时间.
前者请用DateTime.Now.ToString()取得,而后者可以用GetDate()取得.


0 0