【发布时间】:2018-07-04 03:23:51
【问题描述】:
我真的是 C#/WPF 的新手。我尝试编写我的第一个应用程序。所以我添加了一个带有 DataSet 和 TableAdapter 的本地数据库(.mdf 文件)。我还创建了一个表(用户)。
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);
}
【问题讨论】:
-
你在 UserTableAdapter 中的插入语句是什么
-
@daniel.shih 我用的是tableAdapter官方的Insert方法。所以我没有添加额外的插入语句。
-
能否展示代码,调用方法public static void CreateUser(User user),并分配用户对象
-
@daniel.shih 我更新了我的问题。
标签: c# sql-server database dataadapter sqldataadapter