我是C#/ WPF的新手。我尝试编写我的第一个应用程序。所以我添加了一个带有DataSet和TableAdapter的本地数据库(.mdf文件)。我还创建了一个表(User)。
public static int CreateNewId()
{
using (var todoDataSet = new ToDoDataSet())
{
using (var tableAdapter = new UserTableAdapter())
{
var userid = (int) tableAdapter.GetLastId();
userid = userid + 1;
return userid;
}
}
}
使用此功能,我得到了我的表的最后一个ID - 这很好用。但是如果我想在表格中插入一些新数据则不会。没有任何错误消息,但新数据不会显示在表格中。
public static void CreateUser(User user)
{
using (var todoDataSet = new ToDoDataSet())
{
using (var userTableAdapter = new UserTableAdapter())
{
try
{
userTableAdapter.Insert(user.ID, user.Loginname, user.Firstname, user.Lastname, user.Email, user.Password, user.PicUri);
userTableAdapter.Update(todoDataSet.User);
MessageBox.Show("Update successful");
}
catch (System.Exception ex)
{
MessageBox.Show("Update failed");
}
}
}
}
有人知道我做错了什么吗?或者缺少什么?
感谢您的帮助!
编辑: 调用CreateUser()的代码:
private void RegisterUser(object sender, RoutedEventArgs e)
{
int userId = Mysql.CreateNewId();
Console.WriteLine(rm.FirstName);
User loggedUser = new User(userId, rm.Loginname, rm.Email, rm.FirstName, rm.LastName, rm.Password);
Console.WriteLine(loggedUser.ID);
Console.WriteLine(loggedUser.Loginname);
Mysql.CreateUser(loggedUser);
}
答案 0 :(得分:0)
我认为您可以调用方法userTableAdapter.Insert(user.ID, user.Loginname, user.Firstname, user.Lastname, user.Email, user.Password, user.PicUri);
DataTable添加mehtod而不是
userTableAdapter.Update(todoDataSet.User);
然后你调用userTableAdapter.Update
,你将数据保存在数据库中。
因为方法DbDataAdapter
来自{{1}}