如何将数据添加到数据库?我使用访问数据库,此时我有一个listview并将我的数据从我的数据库中获取到我的listview中。我做了第二个表单应用程序,用于在这种情况下添加用户。
所以:我想用我的第二种形式将我的数据添加到我的数据库中。
这是我的代码。你能帮我吗?
namespace Test_login
{
public partial class AddUser : Form
{
public AddUser()
{
InitializeComponent();
}
private void BtnSaveUser_Click(object sender, EventArgs e)
{
{
OleDbConnection connect = new OleDbConnection();
connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\Daniel\Dropbox\Project Barroc-IT\Database\Barroc-IT Database.accdb";
string QueryText = "INSERT INTO Users (Name,Surname,Department,Function,Staffcode,Password) values (@Name,@Surname,@Department,@Function,@Staffcode,@Password)";
connect.Open();
using (OleDbCommand command = new OleDbCommand(QueryText))
{
try
{
OleDbDataAdapter da = new OleDbDataAdapter("INSERT INTO Users", connect);
String Name = Name_textbox.Text;
String Surname = Surname_textbox.Text;
String Department = Department_textbox.Text;
String Function = Function_textbox.Text;
String Staffcode = Staffcode_textbox.Text;
String Password = Password_textbox.Text;
command.Parameters.AddWithValue("@Name", this.Name_textbox.Text);
command.Parameters.AddWithValue("@Surname", this.Surname_textbox.Text);
command.Parameters.AddWithValue("@Department", this.Department_textbox.Text);
command.Parameters.AddWithValue("@Function", this.Function_textbox.Text);
command.Parameters.AddWithValue("@Staffcode", this.Staffcode_textbox.Text);
command.Parameters.AddWithValue("@Password", this.Password_textbox.Text);
command.ExecuteNonQuery();
connect.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
connect.Close();
}
}
}
}
}
}
答案 0 :(得分:2)
你没有提到你的问题,但是,
Microsoft Access上的 Name
,Function
和Password
为reserved keywords。你应该像方括号一样使用它们; [Name]
,[Function]
和[Password]
作为一般推荐,请勿在数据库中使用保留关键字作为标识符和对象名称。
答案 1 :(得分:1)
你可以这样做
string sqlQuery = "INSERT INTO Users (`Name`,`Surname`,Department,`Function`,Staffcode,`Password`) values (?,?,?,?,?,?)";
using (OleDbConnection conn = new OleDbConnection("your connection string"))
using(OleDbCommand cmd = new OleDbCommand(sqlQuery, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@Name", this.Name_textbox.Text);
cmd.Parameters.AddWithValue("@Surname", this.Surname_textbox.Text);
cmd.Parameters.AddWithValue("@Department", this.Department_textbox.Text);
cmd.Parameters.AddWithValue("@Function", this.Function_textbox.Text);
cmd.Parameters.AddWithValue("@Staffcode", this.Staffcode_textbox.Text);
cmd.Parameters.AddWithValue("@Password", this.Password_textbox.Text);
cmd.ExecuteNonQuery();
}
保留关键字的使用波形标记,您还需要为命令对象
设置连接