我是 Visual Studio 和 SQL Server 的新手。我对如何从 Visual Studio 应用程序插入数据感到困惑
我收到 System.InvalidCastException 错误。我很困惑是什么问题。
这是我的代码:
PatientInfoConnection.Open() 'open database connection
Dim sql As String = ""
sql = "insert into model (name, age, date_of_confinement, type_of_sickness, type_of_IVfluid, number_of_bottles, drop_rate)" & _
" values (@name, @age, @date_of_confinement, @type_of_sickness, @type_of_IV_fluid, @number_of_bottles, @drop_rate)"
Dim insert As New SqlCommand(sql, PatientInfoConnection)
insert.Parameters.AddWithValue("@name", txtName.Text)
insert.Parameters.AddWithValue("@age", nudAge.Value.ToString())
insert.Parameters.AddWithValue("@date_of_confinement", dtpDate.Value.ToString())
insert.Parameters.AddWithValue("@type_of_sickness", txtSickness.Text)
insert.Parameters.AddWithValue("@type_of_IV_fluid", txtFluid.Text)
insert.Parameters.AddWithValue("@number_of_bottles", txtBottle.Text)
insert.Parameters.AddWithValue("@drop_rate", nudDrop.Value.ToString())
insert.ExecuteNonQuery()
我在想我的价值观有问题。nudAge.Value 是向上向下的数字,在我的 sql 数据库中,它是 Age(int, null)。我也有 dtpDate.Value。日期时间选择器。我想我不应该在上面使用 ToString() 但我不知道语法..
谁能帮我?任何帮助,将不胜感激。谢谢!
date_of_confinement 是我数据库中的日期时间。格式应该是这样的吗?insert.Parameters.AddWithValue("@date_of_confinement", dtpDate.Value.ToShortDateString)
另外,我做了 insert.Parameters.AddWithValue("@number_of_bottles", Int32.Parse(txtBottle.Text))
但我仍然得到错误。我很困惑。谢谢你的帮助!
这就是我现在所做的... insert.Parameters.AddWithValue("@date_of_confinement", Date.Parse(dtpDate.Value))
我还进行了如下更改:
insert.Parameters.AddWithValue("@age", Convert.ToInt32(txtAge.Text))
insert.Parameters.AddWithValue("@number_of_bottles", Convert.ToInt32(txtBottle.Text))
insert.Parameters.AddWithValue("@drop_rate", Convert.ToInt32(txtDrop.Text))
我不再有错误,但是当我单击保存时,它甚至关闭表单并打开另一个表单也没有做任何事情。什么都没做。
谢谢你的帮助!nn