[英]Insert Data in to ms access 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:查询值和目标字段的数量不同。 在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)";
实际上,您的表包含四个值,但您在该查询中传递了5个值。 那是错误的。
你的代码:
string sql = "insert into users values('"+tbUname.Text+"','"+tbPass.Text+"','"+tbName.Text+"','"+tbEmail.Text+"','"+tbEmail.Text+"')";
tbEmail.Text
重复两次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.