我正致力于保存密码的程序。
我想将它们写在本地数据库文件中(Name:Database.sdf)。
这是我的SQL查询:
SqlCeConnection conn = new SqlCeConnection();
conn.ConnectionString = "Data Source = Database1.sdf";
conn.Open();
SqlCeCommand cmd = new SqlCeCommand("INSERT INTO Passwords (Nr, Username, Password, Email, Website, Description, Rating, DateTime) VALUES ('" + UsernameBox.Text + "', " + PasswordBox.Text + "', '" + EmailBox.Text + "', '" + WebsiteBox.Text + "', '" + DescriptionBox.Text + "'," + RatingValue.Value + "," + DateTime.Now + ")", conn);
conn.Close();
但不知怎的,它不起作用。 这是我的数据库设置: http://imgur.com/0JxX79y
我想要Nr自动增量1,(我在数据库中设置了它)。 我希望有人可以帮助我。 我尝试过在谷歌上发现的很多东西,但似乎没什么用。
格尔茨, Rajco
答案 0 :(得分:2)
你从未执行过命令。
cmd.ExecuteNonQuery()
在conn.Close()之前
你应该看看upp参数以避免sql-injection
http://www.dotnetperls.com/sqlparameter
SqlCeCommand cmd = new SqlCeCommand(@"
INSERT INTO Passwords
(Username, Password, Email, Website, Description, Rating, DateTime)
VALUES
(@UserName, @Password, @Email, @WebSite, @Description, @RatingValue, @DateNow)", conn);
cmd.Parameters.AddWithValue("UserName", UsernameBox.Text);
cmd.Parameters.AddWithValue("Password", PasswordBox.Text);
cmd.Parameters.AddWithValue("Email", EmailBox.Text);
cmd.Parameters.AddWithValue("WebSite", WebsiteBox.Text);
cmd.Parameters.AddWithValue("Description", DescriptionBox.Text);
cmd.Parameters.AddWithValue("RatingValue", RatingValue.Value);
cmd.Parameters.AddwithValue("DateNow", DateTime.Now);
尝试使用它。它会将您的数据添加为查询的参数。