【发布时间】:2020-06-28 16:33:32
【问题描述】:
在数据库中,我使用了分配的 ProgName = varchar、MaleCuteOff = int、FemaleCutOff=int,并且我正在尝试收集用户输入的值,但我收到 错误
从字符串“INSERT INTO CutOff_Point((ProgN”) 转换为类型 整数无效。
Sub save()
Dim query As String = "INSERT INTO CutOff_Point (ProgName, MaleCutOff, FemaleCutOff) VALUES (@colProg, @colMale, @colFemale)"
Using con As New SqlConnection("Data Source=.;Initial Catalog=UEW_ADMISSION_CHEAKER;Integrated Security=True")
Using com As New SqlCommand()
With com
.Connection = con
.CommandType = query
.Parameters.AddWithValue("@colProg", cmbProg.SelectedItem.ToString)
.Parameters.AddWithValue("@colMale", txtMaleCut.Text.ToString)
.Parameters.AddWithValue("@colFemale", txtFemaleCut.Text.ToString)
End With
Try
con.Open()
com.ExecuteNonQuery()
Catch ex As SqlException
MessageBox.Show(ex.Message.ToString(), "Saving data Not Complete")
End Try
End Using
End Using
End Sub
【问题讨论】:
-
小错误:它是 CommandText = query 而不是 CommandType = query
-
如果这些列的类型为
int,为什么要使用Strings设置最后两个参数?除此之外,在String上调用ToString有什么意义?你正在做这一切。ex.Message也是String那么你为什么要调用ToString呢?这表明您并没有真正考虑自己是数据类型,而只是调用ToStringwilly-nilly。 -
非常感谢,我脑子里有很多困惑
标签: database vb.net azure-sql-database sql-insert