c# - 将数据插入到 ms access C# ASP.Net

标签 c# asp.net

我正在尝试将数据从表单插入到 msaccess 数据库我有当前代码

OleDbConnection con = new OleDbConnection();
OleDbCommand cmd = new OleDbCommand();
con.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\kunz\Documents\Visual Studio 2010\WebSites\Assignment_2_Mark_2\App_Data\nuclearpopsicledb.mdb";
cmd.Connection = con;
string sql = "insert into users values('"+tbUname.Text+"','"+tbPass.Text+"','"+tbName.Text+"','"+tbEmail.Text+"','"+tbEmail.Text+"')";

try
{
    con.Open();
    cmd.CommandText = sql;
    cmd.ExecuteNonQuery();
    con.Close();
    Label1.Text = "TRY";
}
catch(Exception ex)
{
    Label1.Text = ex.ToString();
    con.Close();
}

我的数据库结构如下:

|用户名|密码 |姓名 |电子邮件 |

但是当我运行它的时候,我得到了一个类似

的错误

System.Data.OleDb.OleDbException: Number of query values and destination fields are not the same. at System.Data.

我不确定我做错了什么我是 C# 的初学者

最佳答案

您要传递一封额外的电子邮件:

cmd.Parameters.AddWithValue("@userName", tbUname.Text.Trim());
cmd.Parameters.AddWithValue("@password", tbPass.Text.Trim());
cmd.Parameters.AddWithValue("@Name", tbName.Text.Trim());
cmd.Parameters.AddWithValue("@Email", tbEmail.Text.Trim());

string sql = 
    "insert into users " +
    "values(@userName, @password, @Name, @Email)";

关于c# - 将数据插入到 ms access C# ASP.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43614103/

相关文章:

c# - 如何刷新 Windows 窗体控件的简单绑定(bind)?

c# - 生成最短的字母数字保存代码

C# 如何创建自定义类,如 "cmd.CommandType = System.Data.CommandType.Text"

.net - 使用 Web 服务公开 .NET DAL 是否会增加安全性?

c# - ASP.NET 捕获并替换 Global.asax 中的输出

c# - 当 ImageLocation 不起作用时,如何在 C# 中获取 PictureBox 的 imageURL?

c# - 保护 Windows 服务免受不受信任的用户访问

c# 仅当找到分隔符时才拆分字符串

c# - asp.net 网络表单中的 mysql_fetch_array

c# - asp.net 中的配置设置