C# 对象类型System.Windows.Forms.DateTimePicker中不存在映射
当我按下注册按钮时,会出现一个消息框,然后发生以下情况: 不存在从对象类型System.Windows.Forms.DateTimePicker到已知托管提供程序本机类型的映射 我该如何解决这个问题C# 对象类型System.Windows.Forms.DateTimePicker中不存在映射,c#,winforms,C#,Winforms,当我按下注册按钮时,会出现一个消息框,然后发生以下情况: 不存在从对象类型System.Windows.Forms.DateTimePicker到已知托管提供程序本机类型的映射 我该如何解决这个问题 SqlConnection sqlcon = new SqlConnection(); sqlcon.ConnectionString = @"Data Source=MYCOMPUTER-PC\SQLEXPRESS;Database=COMPPROG;User Id=user;Password
SqlConnection sqlcon = new SqlConnection();
sqlcon.ConnectionString = @"Data Source=MYCOMPUTER-PC\SQLEXPRESS;Database=COMPPROG;User
Id=user;Password=password";
SqlCommand scmd = new SqlCommand("SELECT COUNT (*) as cnt from USERACCOUNT", sqlcon);
SqlCommand cmd = sqlcon.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO USERACCOUNT
(FName,MName,Sname,TxtBirth,comboGender,textBox8,textBox1,textBox2)
VALUES(@FName,@MName,@Sname,@TxtBirth,@comboGender,@textBox8,@textBox1,@textBox2)";
cmd.Parameters.AddWithValue("@FName", FName.Text);
cmd.Parameters.AddWithValue("@MName", MName.Text);
cmd.Parameters.AddWithValue("@Sname", Sname.Text);
cmd.Parameters.AddWithValue("@TxtBirth", TxtBirth);
cmd.Parameters.AddWithValue("@textBox8", textBox8.Text);
cmd.Parameters.AddWithValue("@textBox1", textBox1.Text);
cmd.Parameters.AddWithValue("@textBox2", textBox2.Text);
cmd.Parameters.AddWithValue("@comboGender", comboGender);
sqlcon.Open();
MessageBox.Show("Record added sucessfully!", "Registration Success!");
cmd.ExecuteNonQuery();
sqlcon.Close();
正如@gunr217在评论中所说,问题来自这一行,所以将其更改为:
cmd.Parameters.AddWithValue("@TxtBirth", TxtBirth.Value);
这是查询的txtbirnath值
编辑:
- 您的错误意味着您正在传递
日期选择器本身,而这无法完成
cmd.Parameters.AddWithValue(“@txtborth”,txtborth)上代码>行?您需要获取DateTimePicker的值,而不是picker本身。这意味着“.NET不知道如何将WinForms控件转换为数据库字段。”-您应该传递一个DateTime对象(可能是TXTBORTH的属性)。