C# 无法将文本框数据插入访问错误:0x80040e57
我试图将数据插入数据库,但发现有一个奇怪的错误:错误消息是:0x80040e57 命令中的文字值溢出了关联列的类型范围 这是我的密码C# 无法将文本框数据插入访问错误:0x80040e57,c#,insert,C#,Insert,我试图将数据插入数据库,但发现有一个奇怪的错误:错误消息是:0x80040e57 命令中的文字值溢出了关联列的类型范围 这是我的密码 private void btn_insert_Click(object sender, EventArgs e) { OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data
private void btn_insert_Click(object sender, EventArgs e)
{
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;"
+ "Data Source=DB.accdb");
connection.Open();
string insert = "INSERT INTO membership(member_id,member_name,member_password,gender,dob,member_lv,email,tel_no)VALUES(?,?,?,?,?,?,?,?)";
OleDbCommand cmd2 = new OleDbCommand(insert, connection);
cmd2.CommandType = CommandType.Text;
cmd2.Parameters.AddWithValue("member_id", memid_txt.Text);
cmd2.Parameters.AddWithValue("member_name", memname_txt.Text);
cmd2.Parameters.AddWithValue("member_password", mempass_txt.Text);
cmd2.Parameters.AddWithValue("gender", memgender_txt.Text);
cmd2.Parameters.AddWithValue("dob", memdob_txt.Text);
cmd2.Parameters.AddWithValue("member_lv", memlv_txt.Text);
cmd2.Parameters.AddWithValue("email", mememail_txt.Text);
cmd2.Parameters.AddWithValue("tel_no", telno.Text);
try
{
cmd2.ExecuteNonQuery();
MessageBox.Show("Insert Successful Please Click The Load Table Button To See The Newest Update!!!");
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error " + ex);
}
}
我想在access中插入以下数据:
member_id : M0003
member_name: member01
member_password: 12345678
gender : male
dob : 2015/10/10
member_lv : gold
tel_no : 23456789
我检查了两次访问权限。我确保所有列都有255个字符,除了dob(我将dob设置为日期/时间)
真奇怪,告诉我数据超出范围的错误消息。谁能告诉我哪里出了问题
错误消息是
数据库错误0x80040E57:字段太小,无法接受您尝试添加的数据量。尝试插入或粘贴较少的数据“
您是否可以在此共享完整的异常消息错误消息为数据库错误0x80040E57:该字段太小,无法接受您尝试添加的数据量。请尝试插入或粘贴较少的数据“您将dob设置为日期时间,但传递了一个字符串…”,所有内容都会中断。您希望如何将该字符串转换为日期?转换它的惯例是什么?换句话说,停止使用AddWithValue并为参数使用适当的构造函数,在该构造函数中可以指定OleDbTypeJust猜测这里,DOB需要转换为日期时间。