我目前正在开发一个ASP.NET网站。用户可以从其中一个页面向其他用户及其经理发送消息。我试图将消息存储在我为测试目的创建的数据库中。我在C#中使用以下字符串存储到数据库中。但是没有一个值被存储。
string sql = "INSERT INTO Messages (Id, UserName, Message2, Sentdate)" + " VALUES(" + User.Identity.GetUserId() + User.Identity.Name + txtMessage.Text + DateTime.Now.ToString() +");"
我对C#的了解不是最好的,所以如果我犯了一个明显的错误,请原谅我。
如果有人能告诉我哪里出错会很棒,我感谢你的帮助。
答案 0 :(得分:1)
你应该尝试这个:
string sql = "INSERT INTO Messages (Id, UserName, Message2, Sentdate)" +
" VALUES(" + User.Identity.GetUserId()+", " +
User.Identity.Name +", "+
txtMessage.Text +", " +
DateTime.Now.ToString() +");"
然而,这种方法极易暴露于sql injection。
出于这个原因,我建议你使用参数化查询。 Here您将找到一个如何实现此功能的有用示例。